Bug:创建测试证书时提示RSA PRIVATE KEY未找到
解决create_test_cert.js生成根证书时的"RSA PRIVATE KEY not found"错误
调整OpenSSL私钥生成格式
新版OpenSSL(3.x及以上)默认生成PKCS#8格式私钥(开头为-----BEGIN PRIVATE KEY-----),但脚本默认只识别带RSA标识的传统格式。解决方法:- 手动生成兼容格式私钥:
openssl genrsa -traditional -out root_private.pem 2048 - 或者修改脚本的私钥匹配逻辑:打开
create_test_cert.js,找到提取私钥的代码段,把正则里的RSA字样移除,比如将:
修改为:const privateKeyMatch = output.match(/-----BEGIN RSA PRIVATE KEY-----\n([\s\S]*?)\n-----END RSA PRIVATE KEY-----/);const privateKeyMatch = output.match(/-----BEGIN PRIVATE KEY-----\n([\s\S]*?)\n-----END PRIVATE KEY-----/);
- 手动生成兼容格式私钥:
确认OpenSSL版本与路径
执行openssl version查看版本,若为3.x,必须加-traditional参数生成私钥;若系统存在多个OpenSSL版本,确保调用的是1.1.x或兼容版本。手动生成证书绕开脚本限制
如果脚本修改麻烦,直接用OpenSSL命令生成完整根证书,再导入后续流程:- 生成私钥:
openssl genrsa -out rootCA.key 2048 - 生成根证书:
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 365 -out rootCA.pem -subj "/CN=Test Root Certificate" - 将生成的
rootCA.key和rootCA.pem放到脚本指定目录即可。
- 生成私钥:
内容的提问来源于stack exchange,提问作者vishal
相关产品推荐
相关产品推荐

