第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么SSL握手會導(dǎo)致“不能生成DH鍵盤”異常?

為什么SSL握手會導(dǎo)致“不能生成DH鍵盤”異常?

鳳凰求蠱 2019-07-02 10:04:30
當(dāng)我與一些IRC服務(wù)器(但不是其他服務(wù)器-大概是由于服務(wù)器的首選加密方法)建立SSL連接時,我會得到以下異常:Caused by: java.lang.RuntimeException: Could not generate DH keypair     at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:106)     at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:556)     at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:183)     at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)     at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)     ... 3 more最終原因:Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive)     at com.sun.crypto.provider.DHKeyPairGenerator.initialize(DashoA13*..)     at java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:627)     at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:100)     ... 10 more演示此問題的服務(wù)器示例是aperture.esper.net:6697(這是一個IRC服務(wù)器)。沒有演示問題的服務(wù)器示例是kornblth.freenode.net:6697。[毫不奇怪,每個網(wǎng)絡(luò)上的所有服務(wù)器都有相同的行為。]我的代碼(正如前面提到的,在連接到某些SSL服務(wù)器時確實有效)是:    SSLContext sslContext = SSLContext.getInstance("SSL");     sslContext.init(null, trustAllCerts, new SecureRandom());     s = (SSLSocket)sslContext.getSocketFactory().createSocket();     s.connect(new InetSocketAddress(host, port), timeout);     s.setSoTimeout(0);     ((SSLSocket)s).startHandshake();拋出異常的是最后一次啟動手搖。是的,‘TrustAllCerts’有一些神奇之處;該代碼迫使SSL系統(tǒng)不驗證證書。(所以.沒有證書問題。)顯然,有一種可能是Esper的服務(wù)器配置錯誤,但是我搜索了Esper的SSL端口有問題的人的任何其他引用,并且“OpenSSL”連接到它(見下文)。因此,我想知道這是否是Java默認(rèn)SSL支持的限制,還是別的什么。有什么建議嗎?如前所述,在所有這些之后,它確實成功地連接了起來,這比你對我的Java應(yīng)用所能說的更多。如果相關(guān),我使用的是OSX10.6.8,Java版本1.6.0_26。為什么SSL握手會導(dǎo)致“不能生成DH鍵盤”異常?
查看完整描述

3 回答

?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗 獲得超3個贊

問題是主要的尺寸。Java接受的最大可接受的大小是1024位。這是一個已知的問題(見JDK-6521495).

我鏈接到的bug報告提到了變通使用Bouncy城堡的JCE實現(xiàn)。希望這對你有用。

更新

據(jù)報道,這是一種臭蟲。JDK-7044060最近修好了。

但是,請注意,限制只提高到2048位。對于大于2048位的大小,有JDK-8072452-刪除DH密鑰的最大素數(shù)大小這一修正似乎適用于9次。


查看完整回答
反對 回復(fù) 2019-07-02
  • 3 回答
  • 0 關(guān)注
  • 712 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號