SORU
14 HAZİRAN 2011, Salı


Güven Mağaza vs Anahtar Deposu - keytool ile oluşturma

Anahtar deposu genellikle özel/ortak anahtar yapacağını anlıyorum ve güven sadece açık anahtar (ve iletişim kurmak niyetinde güvenilir kişilerin listesini gösterir) saklayın. Evet, bu benim ilk varsayım, eğer bu doğru değil, ben pek iyi başlamadım

Sen keytool kullanarak depolarını ayırmak ne kadar anlayışlı olsa da ilgimi çekti.

Şu ana kadar bir anahtar kullanarak oluşturdum

keytool -import -alias bob -file bob.crt -keystore keystore.ks

benim anahtar deposu oluşturur.dosya ks. Soru yes cevap veriyorum bob Emanet ederim ama eğer bu bir anahtar dosya veya truststore dosyası oluşturdu bana pek açık değil mi? Benim uygulama dosyası olarak kullanmak da ayarlayabilirim.

-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x

ve System.setProperty( "javax.net.debug", "ssl") set ile, güvenilir sertifikalar (ama deposu bölümünde değil) altında sertifika görebiliyorum. İthal ediyorum özellikle sertifika yalnızca ortak bir anahtarı vardır ve Bob için bir SSL bağlantısı (ama belki bu da başka bir soru için en iyi sol!) malzeme göndermek için kullanmak istiyorum.

Herhangi bir tavsiye ya da açıklamalar çok mutluluk duyacağız. Sen ve tek bir deposu olduğunu söyledi, o sadece kendi Kongre ithalat ne olursa olsun aynı keytool çıktı ve diğer güven mağazası değil mi? SSL vb kullanırken ilişki nedir?

CEVAP
14 HAZİRAN 2011, Salı


Terminoloji gerçekten biraz kafa karıştırıcı, ama javax.net.ssl.keyStore javax.net.ssl.trustStore her ikisi de, iki farklı amaçlar için kullanılacak belirtmek için kullanılır. Anahtar depolarını içeri çeşitli biçimlerde ve hatta mutlaka dosyaları (this question) ve keytool sadece bir araç gerçekleştirmek için çeşitli işlemler (ithalat/ihracat/liste/...).

javax.net.ssl.keyStore javax.net.ssl.trustStore parametreler Varsayılan parametreleri oluşturmak için kullanılan KeyManagers TrustManagers (sırasıyla), sonra oluşturmak için kullanılan bir SSLContext mutlaka içerir SSL/TLS ayarları kullanın yaparken bir SSL/TLS bağlantısı üzerinden SSLSocketFactory SSLEngine. Bu sistem özellikleri varsayılan değerleri sadece, örneğin SSLContext.getDefault(), SSLSocketFactory.getDefault() ile kendisi tarafından kullanılan kullanılır. (Bu ise, belirli bir amaç için varsayılan değerler ve SSLContextbelirli s kullanmak istemiyorsanız eğer. yerlerde bir dizi API ile özelleştirilmiş olabilir.)

KeyManager TrustManager arasındaki fark (ve bu nedenle javax.net.ssl.keyStore javax.net.ssl.trustStore arasında) aşağıdaki gibi (JSSE ref guide alıntı)

TrustManager: olup olmadığını Belirler uzaktan kimlik doğrulama bilgilerini (ve böylece bağlantı) olmalıdır güvenilir.

KeyManager: Belirler kimlik doğrulaması için kimlik bilgileri göndermek için uzak ana bilgisayar.

(Diğer parametreler kullanılabilir ve varsayılan değerleri JSSE ref guide açıklanmıştır. Güven depolamak için varsayılan bir değer olsa da, anahtar deposu için olmadığını unutmayın.)

Aslında, anahtar deposu javax.net.ssl.keyStore anlam içeren özel anahtarları ve sertifikaları, oysa javax.net.ssl.trustStore anlam içeren CA sertifikaları etmeye gönüllü müsün güven ne zaman uzak bir parti hediye sertifikası. Bazı durumlarda, genellikle daha pratik ayrı depoları özellikle dosya tabanlı olduklarında () kullanmak olsa da bir mağaza olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caina Mondo Zine

    Caina Mondo

    13 EKİM 2007
  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006