日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java pkcs8_java – 如何在python中创建PKCS8 RSA签名

發布時間:2023/12/31 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java pkcs8_java – 如何在python中创建PKCS8 RSA签名 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有pkcs8_rsa_private_key文件,它由openssl從rsa_private_key.pem文件生成.

我需要通過python中的私鑰進行簽名,使用下面的java代碼創建相同的簽名.

public static final String SIGN_ALGORITHMS = "SHA1WithRSA";

public static String sign(String content, String privateKey) {

String charset = "utf-8";

try {

PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(

Base64.decode(privateKey));

KeyFactory keyf = KeyFactory.getInstance("RSA");

PrivateKey priKey = keyf.generatePrivate(priPKCS8);

java.security.Signature signature = java.security.Signature

.getInstance(SIGN_ALGORITHMS);

signature.initSign(priKey);

signature.update(content.getBytes(charset));

byte[] signed = signature.sign();

return Base64.encode(signed);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

解決方法:

PKCS#8定義了一種編碼和傳輸密鑰的方法,它并不特定于OpenSSL; PKCS#1定義了一種使用RSA密鑰的方法(無論它是如何加載到您的應用程序中,使用PKCS#8)來執行和驗證數據上的數字簽名.

你擁有的這段代碼有三件事:

>它將Base64解碼為PKCS#8

>它將PKCS#8解碼為內存中的實際密鑰(請注意,您可能需要在此處提供密碼)

>它使用SHA-1使用所述密鑰執行PKCS#1 v1.5簽名

>它對Base64中的簽名進行編碼

標簽:java,python,encryption,openssl,rsa

來源: https://codeday.me/bug/20191005/1856644.html

總結

以上是生活随笔為你收集整理的java pkcs8_java – 如何在python中创建PKCS8 RSA签名的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。