簡體   English   中英

簽名算法 SHA256withRSA 在 Java 中失敗

[英]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.jarUS_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM