JAVA sunucumuz ve istemcimiz SSL kullanarak bir ağ üzerinden iletişim kuruyor. Sunucu ve istemci, sertifikalar kullanarak birbirlerinin kimliğini doğrular. Sunucu ve istemci tarafından kullanılan anahtar deposu türü JKS'dir. Sunucu ve istemci anahtar deposu ve güven deposu dosyalarını yükler. Anahtar deposu ve güven deposu dosya adları şunlardır: server.keystore, server.truststore, client.keystore ve client.truststore. Kendinden İmzalı sertifikaları yalnızca test için kullanıyorum.
Sorular:
S1. 6. adımda neden kendi güven merkezlerine sunucu ve müşterinin kendi sertifikalarını eklemem gerektiğini bilmek istiyorum.
S2. Aynı şeyi başarmak için sayı adımlarını azaltabilir miyim? Evet ise, nasıl?
Bir sunucu için RSA anahtarı, kendinden imzalı sertifikalar, anahtar deposu ve güven deposu oluşturma adımları
Özel bir RSA anahtarı oluşturun
openssl genrsa -out diagserverCA.key 2048
X509 sertifikası oluşturma
openssl req -x509 -new -nodes -key diagserverCA.key \ -sha256 -days 1024 -out diagserverCA.pem
Özel anahtar ve ortak sertifikadan bir PKCS12 anahtar deposu oluşturun.
openssl pkcs12 -export -name server-cert \ -in diagserverCA.pem -inkey diagserverCA.key \ -out serverkeystore.p12
PKCS12 anahtar deposunu JKS anahtar deposuna dönüştürme
keytool -importkeystore -destkeystore server.keystore \ -srckeystore serverkeystore.p12 -srcstoretype pkcs12 -alias server-cert
Bir istemcinin sertifikasını sunucunun güven deposuna alın.
keytool -import -alias client-cert \ -file diagclientCA.pem -keystore server.truststore
Bir sunucunun sertifikasını sunucunun güven deposuna alın.
keytool -import -alias server-cert \ -file diagserverCA.pem -keystore server.truststore
İstemci için RSA özel anahtarı, kendinden imzalı sertifika, anahtar deposu ve güven deposu oluşturma adımları
Özel anahtar oluşturma
openssl genrsa -out diagclientCA.key 2048
X509 sertifikası oluşturma
openssl req -x509 -new -nodes -key diagclientCA.key \ -sha256 -days 1024 -out diagclientCA.pem
Özel anahtar ve genel sertifikadan PKCS12 anahtar deposu oluşturun.
openssl pkcs12 -export -name client-cert \ -in diagclientCA.pem -inkey diagclientCA.key \ -out clientkeystore.p12
PKCS12 anahtar deposunu JKS anahtar deposuna dönüştürme
keytool -importkeystore -destkeystore client.keystore \ -srckeystore clientkeystore.p12 -srcstoretype pkcs12 \ -alias client-cert
Bir sunucunun sertifikasını istemcinin güven deposuna alın.
keytool -import -alias server-cert -file diagserverCA.pem \ -keystore client.truststore
Bir istemcinin sertifikasını istemcinin güven deposuna aktarın.
keytool -import -alias client-cert -file diagclientCA.pem \ -keystore client.truststore