RSA加解密時報algid parse error, not a sequence錯誤
問題:在RSA加解密驗證時欧募,使用私鑰無法生成簽名,報algid parse error, not a sequence錯誤
原因:私鑰在使用前為pkcs1格式鹰祸,而java在不引用第三方包的情況下無法直接使用pkcs1格式的秘鑰甫窟,需要將其轉(zhuǎn)化為pkcs8編碼
解決方案:使用openssl(官網(wǎng):https://www.openssl.org/source/)將私鑰進(jìn)行pkcs8編碼,將秘鑰文件拷貝到openssl安裝目錄中蛙婴,打開cmd命令進(jìn)入該目錄粗井,執(zhí)行命令:
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -out rsa_private_key_01.pem -nocrypt
其中rsa_private_key.pem表示原私鑰文件,rsa_private_key_01.pem表示pkcs8編碼后的私鑰文件。
注:目前網(wǎng)上還沒找到j(luò)ava在不使用第三方j(luò)ar包的情況下處理pkcs1格式私鑰的解決方案街图。絕大多數(shù)都是使用openssl工具將秘鑰文件處理為pkcs8編碼后再進(jìn)行操作浇衬。
轉(zhuǎn)載自https://blog.csdn.net/weixin_43652442/article/details/87875491