Bir Java webservice istemcisinin geliştirilmesi sırasında bir sorunla karşılaştım. Web hizmeti için kimlik doğrulaması bir istemci sertifikası, kullanıcı adı ve parola kullanıyor. Web servisinin arkasındaki şirketten aldığım istemci sertifikası .cer
formatta. Bir metin düzenleyicisi kullanarak dosyayı incelediğimde, aşağıdaki içeriğe sahiptir:
-----BEGIN CERTIFICATE-----
[Some base64 encoded data]
-----END CERTIFICATE-----
Bu dosyayı Internet Explorer'da (parola girmek zorunda kalmadan!) Sertifika olarak alabilir ve web hizmetiyle kimlik doğrulaması yapmak için kullanabilirim.
Bu sertifikayı önce ilk ve son satırı sıyrılarak, unix satırlarına dönüştürerek ve base64-decode çalıştırarak bir anahtar deposuna aktarabildim. Ortaya çıkan dosya bir anahtar deposuna alınabilir ( keytool
komut kullanılarak). Anahtar deposundaki girdileri listelediğimde, bu girdi türündedir trustedCertEntry
. Bu girdi türü (?) Nedeniyle, web hizmetiyle kimlik doğrulamak için bu sertifikayı kullanamıyorum. Sağlanan sertifikanın kimlik doğrulama için kullanılan genel bir sertifika olduğunu düşünmeye başlıyorum ...
Bulduğum bir geçici çözüm, sertifikayı IE'ye almak ve bir .pfx
dosya olarak vermek. Bu dosya bir anahtar deposu olarak yüklenebilir ve web hizmetiyle kimlik doğrulaması yapmak için kullanılabilir. Ancak, müşterilerimin her yeni sertifika aldıklarında bu adımları gerçekleştirmelerini bekleyemem. Bu yüzden .cer
dosyayı doğrudan Java'ya yüklemek istiyorum . Düşüncesi olan var mı?
Ek bilgi: Web servisinin arkasındaki şirket, sertifikanın bilgisayardan ve kullanıcıdan daha sonra içe aktaracak olan kullanıcıdan (IE ve web sitesi kullanılarak) talep edilmesi gerektiğini söyledi.