为了账号安全,请及时绑定邮箱和手机立即绑定

“ BEGIN RSA PRIVATE KEY”和“ BEGIN PRIVATE KEY”之间的区别

“ BEGIN RSA PRIVATE KEY”和“ BEGIN PRIVATE KEY”之间的区别

茅侃侃 2019-11-25 15:43:32
嗨,我正在编写一个程序,该程序从.pem文件导入私钥并创建私钥对象以供以后使用。.我所面临的问题是某些pem文件头以-----BEGIN PRIVATE KEY-----而其他人开始-----BEGIN RSA PRIVATE KEY-----通过搜索,我知道第一个是PKCS#8格式化的,但是我不知道另一个属于什么格式。
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

看一看<openssl/pem.h>。它给出了可能的BEGIN标记。


复制以上链接中的内容以供快速参考:


#define PEM_STRING_X509_OLD "X509 CERTIFICATE"

#define PEM_STRING_X509     "CERTIFICATE"

#define PEM_STRING_X509_PAIR    "CERTIFICATE PAIR"

#define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE"

#define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST"

#define PEM_STRING_X509_REQ "CERTIFICATE REQUEST"

#define PEM_STRING_X509_CRL "X509 CRL"

#define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY"

#define PEM_STRING_PUBLIC   "PUBLIC KEY"

#define PEM_STRING_RSA      "RSA PRIVATE KEY"

#define PEM_STRING_RSA_PUBLIC   "RSA PUBLIC KEY"

#define PEM_STRING_DSA      "DSA PRIVATE KEY"

#define PEM_STRING_DSA_PUBLIC   "DSA PUBLIC KEY"

#define PEM_STRING_PKCS7    "PKCS7"

#define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA"

#define PEM_STRING_PKCS8    "ENCRYPTED PRIVATE KEY"

#define PEM_STRING_PKCS8INF "PRIVATE KEY"

#define PEM_STRING_DHPARAMS "DH PARAMETERS"

#define PEM_STRING_DHXPARAMS    "X9.42 DH PARAMETERS"

#define PEM_STRING_SSL_SESSION  "SSL SESSION PARAMETERS"

#define PEM_STRING_DSAPARAMS    "DSA PARAMETERS"

#define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY"

#define PEM_STRING_ECPARAMETERS "EC PARAMETERS"

#define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY"

#define PEM_STRING_PARAMETERS   "PARAMETERS"

#define PEM_STRING_CMS      "CMS"


查看完整回答
反对 回复 2019-11-25
?
偶然的你

TA贡献1841条经验 获得超3个赞

要生成PKCS#1密钥,openssl genrsa可以使用该命令。使用openssl req同时生成私钥和CRT将结束与一个PKCS#8键。在genpkey手动状态The use of the genpkey program is encouraged over the algorithm specific utilities because additional algorithm options and ENGINE provided algorithms can be used.。但是某些软件(mysql)只能使用PKCS#1密钥。从转换PKCS#8PKCS#1是可以做到的openssl rsa -in key.pem -out key.pem。可以使用进行其他转换openssl pkey -in key.pem -out key.pem

查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 2792 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信