我有一個企業服務器,我試圖連接到使用java,但要做到這一點,他們要求Tls版本是1.1
或1.2
。使用TLSv1.2或1.1生成自簽名證書
我在我的電腦中安裝了openssl,我似乎在使用Tls版本1.1。我我測試了我的OpenSSL安裝使用此命令
openssl s_client -host google.com -port 443
,這是結果
SSL-Session:
Protocol : TLSv1
Cipher : AES128-SHA
Session-ID: FFE6DD3F1F78EC17999809D875E12D5138573BE52BCAA2EB55225F2EFE864127
Session-ID-ctx:
Master-Key: 7599DC1A0FDC8BC41431D7907EE933BE7527D2A658ADFC6B34B2CAB3D071DD7E13B6ED2C7C35A6EABDCA52943B1155A2
Key-Arg : None
Start Time: 1489987373
Timeout : 300 (sec)
Verify return code: 20 (unable to get local issuer certificate)
一些信息已經被冷落爲了提高可讀性,但你可以在你的終端測試出來。
這是我的Java版本
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
我怎樣才能讓我的Java keytool生成與1.1
或1.2
一個Tls
版本的證書?
TLS是一個數據安全層,而不是證書屬性。 https://en.wikipedia.org/wiki/Transport_Layer_Security 您正在尋找的是'SSLContext.getInstance(「TLSv1.2」)' –