国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java.security.InvalidKeyException: IOException : algid parse error, not a sequence

這篇具有很好參考價值的文章主要介紹了java.security.InvalidKeyException: IOException : algid parse error, not a sequence。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

問題:讀取私鑰時報錯:


KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(Base64.decodeBase64(privateKeyPEM));

錯誤原因 :

私鑰格式錯誤,錯誤的privateKey是通過openssl生成的私鑰,默認pkcs1格式(將文件中去掉私鑰頭-----BEGIN RSA PRIVATE KEY-----和私鑰尾-----END RSA PRIVATE KEY-----得到),代碼中的是用的PKC8格式解析私鑰。

注:

PKCS8私鑰文件是以-----BEGIN PRIVATE KEY-----開頭

PKCS1私鑰文件是以-----BEGIN RSA PRIVATE KEY-----開頭


解決辦法 :

一、對原有私鑰進行格式轉換

例如使用如下openssl命令生成的私鑰文件格式為pkcs1

openssl genrsa -out private.key 2048

可使用如下openssl命令,將 PKCS1 格式的 private.key 文件轉為PKCS8格式的新私鑰文件 pkcs8Private.key

openssl pkcs8 -topk8 -inform PEM -in private.key -outform pem -nocrypt -out pkcs8Private.key

pkcs8轉成pkcs1命令:

openssl pkcs8 -in pkcs8.pem -nocrypt -out pri_key.pem

?
二、直接生成PKC8格式的私鑰

私鑰生成命令

openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt -out client.key

?
三、java采用BouncyCastle庫中的PEMReader讀取PEM格式的私鑰

reader = new PEMReader(new InputStreamReader(new ByteArrayInputStream(keyBytes)));
PrivateKey key = (PrivateKey)reader.readObject();

bouncycastle庫鏈接 http://www.bouncycastle.org/documentation.html

參考鏈接:java使用pem格式SSL證書請求https

https://blog.csdn.net/tuanyuanmian/article/details/88607621

解決辦法主要參考來源:

https://stackoverflow.com/questions/6559272/algid-parse-error-not-a-sequence/46988448
?文章來源地址http://www.zghlxwxcb.cn/news/detail-405941.html

到了這里,關于java.security.InvalidKeyException: IOException : algid parse error, not a sequence的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【文件合并下載報錯java.io.IOException: Error: Header doesn‘t contain versioninfo】

    在開發(fā)完一個需求進行自測的時候,發(fā)現(xiàn)點下載按鈕會報 的錯誤,看字面意思不清楚具體的問題,所以查資料后發(fā)現(xiàn)是文件的類型不一致導致了代碼報錯,當時寫需求的時候沒有考慮到PDF和DOC,pdfbox的MemoryUsageSetting.setupMainMemoryOnly方法會區(qū)分不同的文件類型,所以用結尾來區(qū)分

    2024年01月16日
    瀏覽(27)
  • java.io.IOException: Cannot run program “python“: CreateProcess error=2, 系統(tǒng)找不到指定的文件。

    java.io.IOException: Cannot run program “python”: CreateProcess error=2, 系統(tǒng)找不到指定的文件。 原因: python 這個命令 用java運行沒有找到 解決:直接改用python.exe這個文件的絕對路徑 錯誤源代碼 修改后源代碼

    2024年02月13日
    瀏覽(21)
  • java線上運行異常:Error parsing HTTP request header

    java線上運行異常:Error parsing HTTP request header

    1.部署異常如下: 2.出現(xiàn)原因 這個問題的原因是高版本的tomcat中的新特性:就是嚴格按照 RFC 3986規(guī)范進行訪問解析,而 RFC 3986規(guī)范定義了Url中只允許包含英文字母(a-zA-Z)、數(shù)字(0-9)、-_.~4個特殊字符以及所有保留字符(RFC3986中指定了以下字符為保留字符:! * ’ ( ) ; : @ =

    2024年02月05日
    瀏覽(30)
  • Error parsing HTTP request header java.io.EOFException: null

    問題: 我用postman請求就是正常的,但是用java的程序去請求就會報錯這個: 2024-01-17 16:38:52.077 DEBUG [http-nio-8885-exec-1][org.apache.coyote.http11.Http11Processor]182 Error parsing HTTP request header java.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1259) at o

    2024年01月21日
    瀏覽(19)
  • JSON parse error: Cannot deserialize value of type `java.util.Date`

    不能解析我傳遞的日期數(shù)據(jù):”2022-06-08“,它默認是要這樣的\\\"yyyy-MM-dd HH:mm:ss\\\"。 直接在數(shù)據(jù)庫對應的接受類對象和實體類對象上加日期轉化的注解。 可能由于種種環(huán)境原因,不知道哪個一定正確,下面三個注解任選其一。 我發(fā)現(xiàn)我公司是用的DateUtil。

    2024年02月17日
    瀏覽(23)
  • JSON parse error: Cannot deserialize value of type `java.util.ArrayList<java.lang.String>`

    JSON parse error: Cannot deserialize value of type `java.util.ArrayList<java.lang.String>`

    在前后端傳遞參數(shù)時,如果為JSON,后端使用@RequestBody對象類型接受數(shù)據(jù),會出現(xiàn) 500/400錯誤。 也就是說,在前后端發(fā)送數(shù)據(jù)時,出現(xiàn)JSON格式轉換錯誤,從而訪問不到后臺接口。 不添加 @RequestBody 雖然可以成功訪問,但是無法獲取到對象數(shù)據(jù) 警告內(nèi)容: 不要使用對象類型接受

    2024年02月11日
    瀏覽(27)
  • HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.List

    HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.List

    ?今天與到一個報錯,分享一下這個報錯的解決方案,都是自己學的太淺的原因導致卡了半個小時 如圖: 在Post請求的過程中,前端是一個JSON對象以請求體的形式傳到了后端,而后端是以一個列表接收,這樣導致的問題就是接收的不是一個對象 在Post請求想要接收請求體的數(shù)

    2024年01月16日
    瀏覽(21)
  • JSON parse error: Cannot deserialize value of type `java.util.ArrayList<java.lang.Long>` from Object

    JSON?parse?error:?Cannot?deserialize?value?of?type?`java.util.ArrayListjava.lang.Long`?from?Object?value?(token?`JsonToken.START_OBJECT`);?nested?exception?is?com.fasterxml.jackson.databind.exc.MismatchedInputException:?Cannot?deserialize?value?of?type?`java.util.ArrayListjava.lang.Long`?from?Object?value?(token?`JsonToken.START_O

    2024年02月09日
    瀏覽(19)
  • JSON parse error: Cannot deserialize value of type `java.util.ArrayList<XXX>……的解決方案

    JSON parse error: Cannot deserialize value of type `java.util.ArrayList<XXX>……的解決方案

    “JSON parse error: Cannot deserialize value of type java.util.ArrayListXXX from String value (token JsonToken.VALUE_STRING ); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type java.util.ArrayListcom.ruoyi.sc.domain.ScHdImg from String value (token JsonToken.VALUE_STRING )n at [Source: (org.sp

    2024年02月11日
    瀏覽(22)
  • 已解決JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` from String

    已解決JSON parse error: Cannot deserialize value of type java.time.LocalDateTime from String 下滑查看解決方法 JSON parse error: Cannot deserialize value of type java.time.LocalDateTime from String 這個問題通常出現(xiàn)在將一個字符串轉換為LocalDateTime對象時。 下滑查看解決方法 解決這個問題的方法取決于你使用的

    2024年02月08日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包