![](/img/trans.png)
[英]Fail to match SHA256withRSA signature from Java on .Net c#
[英]Signature Algorithm SHA256withRSA failed in Java
我在 Raspberry Pi 和 Ubuntu Linux 中生成並簽署了相同的證書。
SSL 連接在 Raspberry 上工作正常,而在 Ubuntu 上失敗並出現錯誤Received fatal alert: unknown_ca
在證書驗證過程中,我發現了不同之處:
失敗(AWS 上的 Ubuntu)
*** CertificateVerify
Signature Algorithm SHA256withRSA
好(樹莓派)
*** CertificateVerify
Signature Algorithm SHA512withRSA
為什么我有不同的簽名算法? 在這兩種情況下,都使用了相同的命令來創建和簽署證書。
與Java通信時可能會出現問題嗎?
UPD
嘗試啟用 Unlimited Strength Jurisdiction Policy
我的 Java 安裝中有兩個文件夾,其中包含local_policy.jar
和US_export_policy.jar
:
C:\java\jdk1.8.0_241\jre\lib\security\policy\limited
C:\java\jdk1.8.0_241\jre\lib\security\policy\unlimited
我想unlimited
文件夾包含所需的庫,但可以肯定的是我已經從Oracle下載並覆蓋了它們。
我在C:\\java\\jdk1.8.0_241\\jre\\lib\\security\\java.security
文件中取消注釋行crypto.policy=unlimited
但問題還是一樣。 直到有錯誤:
MQTT Con: 2, RECV TLSv1.2 ALERT: fatal, unknown_ca
%% Invalidated: [Session-1, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
我會嘗試檢查您的客戶是否啟用了Unlimited Strength Jurisdiction Policy 。
$JAVA_HOME/jre/lib/security
(對於 JDK)$JAVA_HOME/lib/security
(對於 JRE) 該文件必須具有以下行: crypto.policy=unlimited
如果它不存在,您將必須從Oracle下載一個可分發的,然后將上面的行添加到security
文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.