2017-01-17 3 views
3

私はJAVAクライアントアプリケーションを持っており、https経由でサーバー(example.com)に接続しようとしています。クライアントアプリケーションにはトラストストアJKSがあり、これにはサーバーの証明書とその他の証明書も含まれています。サーバーがこのクライアントアプリケーションに証明書を送信する手振れ処理では、正しい証明書がトラストストアjksからどのように取得されるか。つまり、JKSに格納されている証明書を使用してサーバから送信された証明書にどのパラメータjavaが一致するかに基づいています。JKSでsslハンドシェイクで正しい証明書が取得される方法

答えて

1

証明書のSubjectで照合します。

など。あなたがhttps://www.google.com/を閲覧し、その証明書を見れば、それが持つ証明書チェーンを示しています

件名:発行    /C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com
:によって/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
問題:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority

/C=US/O=Google Inc/CN=Google Internet Authority G2
が発行*実際に使用して取得openssl s_client -connect www.google.com:443 -showcerts

のいずれかがあなたのトラストストアにある場合、証明書は信頼されます。

Alias name: geotrustglobalca 
Creation date: Jul 18, 2003 
Entry type: trustedCertEntry 

Owner: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US 
Issuer: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US 
Serial number: 23456 
Valid from: Tue May 21 00:00:00 EDT 2002 until: Sat May 21 00:00:00 EDT 2022 
Certificate fingerprints: 
     MD5: F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5 
     SHA1: DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12 
     SHA256: FF:85:6A:2D:25:1D:CD:88:D3:66:56:F4:50:12:67:98:CF:AB:AA:DE:40:79:9C:72:2D:E4:D2:B5:DB:36:A7:3A 
     Signature algorithm name: SHA1withRSA 
     Version: 3 
:出力のこの種を取得するには

keytool -list -keystore /path/to/cacerts -storepass changeit -v | grep "CN=GeoTrust Global CA" -B 4 -A 8 

あなたは(あなたがgrepを持っていると仮定して)このようにトラストストアをスキャンすることができます

関連する問題