首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将OpenSSH证书包装到pfx

将OpenSSH证书包装到pfx
EN

Server Fault用户
提问于 2019-01-30 11:15:33
回答 2查看 6.7K关注 0票数 1

我想将由CA签名的OpenSSH证书打包到pfx文件中。据我所见,我需要我的私钥和证书的格式在PEM。我使用ssh-keygen来生成rsa私钥和公钥。当我创建OpenSSH证书时,私钥已经是OpenSSH格式,它是OpenSSH格式,而不是PEM编码。

我想使用pkcs12 -export命令来生成私钥和证书的pkcs12包,但不能加载证书。

我知道我需要证书在pem中,我也需要在-in文件中提供CA证书,但是证书不在PEM中,即使我强制将它放在PEM中,它也不承认它。

有没有人打包过由CA签名的OpenSSH证书(不是x.509) (尽管自签名也不适合我)和pfx文件的私钥?

如果是,可以给出来自密钥生成的确切命令,包括证书生成和pfx文件的创建吗?

谢谢,我已经找了好几天了,却没有得到适当的答复。

EN

回答 2

Server Fault用户

发布于 2019-01-30 11:47:23

OpenSSH和x509格式不兼容。您需要使用openssl创建一个私钥+ CSR。在你发送CSR之后(不是钥匙!)对于CA,它们将返回一个签名证书,您可以将该证书与私钥组合到pfx容器中。

来创建一个键

代码语言:javascript
复制
openssl genrsa -out 2019-www_server_com.key 2048

以创建证书签名请求

代码语言:javascript
复制
openssl req -new -key 2019-www_server_com.key -out 2019-www_server_com.csr

用于从接收到的证书和密钥

创建PFX容器。

代码语言:javascript
复制
openssl pkcs12 -export -out 2019-www_server_com.pfx -inkey 2019-www_server_com.key -in yourcertificate.crt
票数 1
EN

Server Fault用户

发布于 2019-12-31 02:10:51

简而言之,您可以使用现有的RSA私钥(我还没有尝试其他类型,如ECDSA),但是,您需要生成一个带有适当X.509扩展名的OpenSSL的证书,以便将其打包到PFX/PKCS12 12文件中。以下是我尝试过的成功之处:

首先,如果您希望您的证书由CA签名,则生成一个CSR。如果没有,只需跳到下一个命令以生成一个自签名证书。

代码语言:javascript
复制
openssl req -key .ssh/id_rsa -new -out .ssh/id_rsa.csr

注意:如果您对SSH密钥使用密码,系统将提示您输入它。CSR (对CA的签名请求)将输出到.ssh。这假设您希望使用. .ssh/id_rsa作为您的私钥。

或者,只生成一个自签名证书。和以前一样,如果SSH密钥是密码保护的,系统将提示您输入SSH密钥密码:

代码语言:javascript
复制
openssl req -key .ssh/id_rsa -new -x509 -days 365 -out .ssh/id_rsa.crt

注:上述命令将证书有效期设置为1年(365天)。根据需要调整。对于OpenSSH来说,这在很大程度上是无用的,因为如果您想要逆转这个过程,它将忽略x.509数据,包括证书过期。

现在您已经拥有了带有正确x.509元数据(id_rsa.crt)的证书,您可以像往常一样将它与私钥一起打包:

代码语言:javascript
复制
openssl pkcs12 -inkey .ssh/id_rsa -in .ssh/id_rsa.crt -export -out .ssh/id_rsa.pfx

文件名既可以是.pfx,也可以是.p12,格式相同,AFAIK。请注意,此命令将首先向您询问SSH私钥密码,然后它将两次提示您输入PFX/PKCS12 12导出密码。

如上所述,要在OpenSSH中重用PFX/PKCS12 12文件,首先需要从PFX/PKCS12 12存档中提取并转换私钥,然后使用ssh-keygen从私钥派生OpenSSH公钥。我不知道你为什么这么做,但希望上面的话能帮上忙.

最后一件事:我发现数字海洋的OpenSSL指南是相当全面的。它不仅为您提供了复制粘贴的盲目命令,还解释了每个命令所做的工作。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/951476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档