news 2026/6/10 12:29:28

java.security.InvalidKeyException: IOException : algid parse error, not a sequence 报错解决

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
java.security.InvalidKeyException: IOException : algid parse error, not a sequence 报错解决

错误信息

Caused by: java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException:algid parse error, not a sequence at jdk.crypto.ec/sun.security.ec.ECKeyFactory.engineGeneratePrivate(ECKeyFactory.java:170)~[jdk.crypto.ec:na]at java.base/java.security.KeyFactory.generatePrivate(KeyFactory.java:389)~[na:na]at io.netty.handler.ssl.SslContext.getPrivateKeyFromByteBuffer(SslContext.java:1236)~[netty-handler-4.2.7.Final.jar:4.2.7.Final]...33common frames omitted Caused by: java.security.InvalidKeyException: IOException:algid parse error, not a sequence at java.base/sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:135)~[na:na]at java.base/sun.security.pkcs.PKCS8Key.<init>(PKCS8Key.java:95)~[na:na]at jdk.crypto.ec/sun.security.ec.ECPrivateKeyImpl.<init>(ECPrivateKeyImpl.java:78)~[jdk.crypto.ec:na]at jdk.crypto.ec/sun.security.ec.ECKeyFactory.implGeneratePrivate(ECKeyFactory.java:245)~[jdk.crypto.ec:na]at jdk.crypto.ec/sun.security.ec.ECKeyFactory.engineGeneratePrivate(ECKeyFactory.java:166)~[jdk.crypto.ec:na]...35common frames omitted

错误原因

传入的私钥串privateKey格式不是PKC8格式,其中错误的privateKey是通过openssl生成的私钥,将文件中去掉私钥头(-----BEGIN RSA PRIVATE KEY-----)和私钥尾(-----END RSA PRIVATE KEY-----)得到


1)先快速判断server.key是什么

打开D:\test\server.key看第一行:

  • 私钥应该是下面之一:

    • -----BEGIN PRIVATE KEY-----(PKCS#8)
    • -----BEGIN RSA PRIVATE KEY-----(PKCS#1)
    • -----BEGIN EC PRIVATE KEY-----
    • -----BEGIN ENCRYPTED PRIVATE KEY-----(加密私钥)
  • 如果是:

    • -----BEGIN CERTIFICATE-----→ 这是证书,不是私钥
    • 乱码二进制 → 多半是 DER / p12 / jks

2)最稳的修复:把私钥转成PKCS#8(无密码)

不管你原来是什么 PEM 私钥,统一转 PKCS#8 最稳:

openssl pkcs8 -topk8 -inform PEM -in D:\test\server.key -out D:\test\server-pkcs8.key -nocrypt

如果原私钥是加密的,openssl 会提示输入密码。你也可以在 yml 里填serverKeyPassword(但我更建议转成无密码私钥并用文件权限保护)。


3)如果你这套证书是(JKS / P12),需要先导出 PEM 私钥

3.1 如果你有server.p12

openssl pkcs12 -in D:\test\server.p12 -nocerts -nodes -out D:\test\server.key

再执行第 2 步转 PKCS#8。

3.2 如果你只有server.jks

先转 p12:

keytool -importkeystore -srckeystore D:\test\server.jks -srcstoretype JKS -destkeystore D:\test\server.p12 -deststoretype PKCS12

再按 3.1 导出 key,然后按第 2 步转 PKCS#8。


4)验证一下是否成功(建议)

openssl pkey -in D:\test\server-pkcs8.key -text -noout

能正常输出 RSA/EC 信息就对了。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 9:54:31

GroundingDINO模型配置文件解析:SwinT与SwinB深度对比与实战选择指南

GroundingDINO模型配置文件解析&#xff1a;SwinT与SwinB深度对比与实战选择指南 【免费下载链接】GroundingDINO 论文 Grounding DINO: 将DINO与基于地面的预训练结合用于开放式目标检测 的官方实现。 项目地址: https://gitcode.com/GitHub_Trending/gr/GroundingDINO …

作者头像 李华
网站建设 2026/6/10 11:48:48

stm32f103c8t6使用STM32CubeMX配置IAP

单片机IAP&#xff08;In Application Programming&#xff0c;在线应用编程&#xff09;是一种允许用户程序在运行过程中直接对Flash存储器进行读写操作的功能&#xff0c;主要用于产品发布后的固件升级。‌‌简单来说&#xff0c;就是设备在正常工作状态下&#xff0c;无需借…

作者头像 李华
网站建设 2026/6/9 23:41:44

Fesod快速上手指南:5分钟搞定Excel数据处理的核心技巧

还在为Excel数据处理而烦恼吗&#xff1f;当你面对海量数据导入导出、复杂报表生成等场景时&#xff0c;传统的POI库往往让你陷入内存溢出和性能瓶颈的困境。现在&#xff0c;Fesod项目为你带来了高效的解决方案&#xff0c;让你在5分钟内掌握高性能Excel处理的核心技巧。 【免…

作者头像 李华
网站建设 2026/6/9 20:24:47

ChatTTS语音定制终极指南:打造属于你的独特声音

还在为语音合成效果单调而烦恼吗&#xff1f;想要为你的应用注入独一无二的声音灵魂&#xff1f;这份完整的语音定制教程将带你从零开始&#xff0c;逐步掌握ChatTTS的声音魔法&#xff0c;让你的每一段语音都充满个性和魅力。 【免费下载链接】ChatTTS-ui 匹配ChatTTS的web界面…

作者头像 李华
网站建设 2026/6/10 12:25:15

解锁AMD 780M全部潜能:ROCm优化库实战指南

解锁AMD 780M全部潜能&#xff1a;ROCm优化库实战指南 【免费下载链接】ROCmLibs-for-gfx1103-AMD780M-APU ROCm Library Files for gfx1103 and update with others arches based on AMD GPUs for use in Windows. 项目地址: https://gitcode.com/gh_mirrors/ro/ROCmLibs-f…

作者头像 李华
网站建设 2026/6/8 0:55:15

【拯救HMI】HMI的下一站:从人机交互到“人-信息-系统”智能融合的核心

在工业物联网和数字孪生技术蓬勃发展的今天&#xff0c;HMI的角色正发生根本性蜕变。它不再仅仅是操作的终端&#xff0c;更是融合了数据、模型与决策支持的智能中枢。本文将探讨下一代HMI如何成为连接物理世界与数字世界的超级入口。传统的HMI成功连接了**人**与**机器**。然而…

作者头像 李华