我们正在尝试实现与合作伙伴之一的Web服务的一些功能。现在,传输的内容应该使用我们提供的公钥加密。
安全规范要求公共证书必须符合X.509标准。X.509不是依赖于私钥/公钥方法吗?因为我只得到一个包含私钥和证书但没有公钥的.pem文件,使用以下命令:
openssl req -new -x509 -days 365 -nodes -out ./cert.pem -keyout ./cert.pem
我是否需要修改命令才能创建私钥和公钥?
我们正在尝试实现与合作伙伴之一的Web服务的一些功能。现在,传输的内容应该使用我们提供的公钥加密。
安全规范要求公共证书必须符合X.509标准。X.509不是依赖于私钥/公钥方法吗?因为我只得到一个包含私钥和证书但没有公钥的.pem文件,使用以下命令:
openssl req -new -x509 -days 365 -nodes -out ./cert.pem -keyout ./cert.pem
我是否需要修改命令才能创建私钥和公钥?
使用OpenSSL生成私钥和公钥的基本命令行步骤如下:
openssl genrsa -out private.key 1024
openssl req -new -x509 -key private.key -out publickey.cer -days 365
openssl pkcs12 -export -out public_privatekey.pfx -inkey private.key -in publickey.cer
步骤1 - 生成私钥。
步骤2 - 创建包含您的公钥的X509证书(.cer文件),在注册私人应用程序(或升级成合作伙伴应用程序)时上传该证书。
步骤3 - 将您的x509证书和私钥导出到pfx文件。如果您选择的包装库使用.pem文件来签署请求,则不需要此步骤。
这个答案解释了不同的文件扩展名。
公钥存储在X.509证书中。证书将身份信息(常用名称、地址等)与该公钥绑定。
openssl req -x509 -newkey rsa:2048 -keyout private.key -out public.cert -days 365
可选地,将这对文件合并成一个单一的文件。
openssl pkcs12 -export -inkey private.key -in public.cert -out certificate.pfx
private.key
certificate.pfx
public.cert
相关链接
privatekey.pem
文件包含的是私钥还是公钥? - Isaac Kleinman.key
而不是.pem
,以避免混淆。生成的文件将只是一个私钥。有人可能会因为错误而发送.pem
文件给其他人,从而造成安全问题。 - w0rp