Selama pengembangan klien layanan web Java saya mengalami masalah. Otentikasi untuk layanan web menggunakan sertifikat klien, nama pengguna, dan kata sandi. Sertifikat klien yang saya terima dari perusahaan di belakang layanan web dalam .cer
format. Ketika saya memeriksa file menggunakan editor teks, ia memiliki konten berikut:
-----BEGIN CERTIFICATE-----
[Some base64 encoded data]
-----END CERTIFICATE-----
Saya dapat mengimpor file ini sebagai sertifikat di Internet Explorer (tanpa harus memasukkan kata sandi!) Dan menggunakannya untuk mengotentikasi dengan layanan web.
Saya dapat mengimpor sertifikat ini ke dalam keystore dengan terlebih dahulu menghapus baris pertama dan terakhir, mengonversi ke unix baris baru dan menjalankan decode base64. File yang dihasilkan dapat diimpor ke keystore (menggunakan keytool
perintah). Ketika saya daftar entri dalam keystore, entri ini adalah tipe trustedCertEntry
. Karena jenis entri ini (?) Saya tidak dapat menggunakan sertifikat ini untuk mengautentikasi dengan layanan web. Saya mulai berpikir bahwa sertifikat yang disediakan adalah sertifikat publik yang digunakan untuk otentikasi ...
Solusi yang saya temukan adalah mengimpor sertifikat di IE dan mengekspornya sebagai .pfx
file. File ini dapat dimuat sebagai keystore dan dapat digunakan untuk mengautentikasi dengan layanan web. Namun saya tidak dapat mengharapkan klien saya untuk melakukan langkah-langkah ini setiap kali mereka menerima sertifikat baru. Jadi saya ingin memuat .cer
file langsung ke Java. Adakah pikiran?
Info tambahan: perusahaan di balik layanan web memberi tahu saya bahwa sertifikat harus diminta (menggunakan IE & situs web) dari PC dan pengguna yang akan mengimpor sertifikat nanti.