X.509:私钥/公钥

时间:2013-05-10 11:03:57

标签: openssl x509 private-key public-key

我们正试图从我们的合作伙伴那里实现Web服务的某些功能。现在,传输的内容应该用公钥加密,我们必须提供。

安全规范说公共证书必须是X.509标准。 X.509不依赖于私钥/公钥方法吗?因为我只使用以下命令获得一个.pem文件,包含私钥和证书,但没有公钥:

openssl req -new -x509 -days 365 -nodes -out ./cert.pem -keyout ./cert.pem

我是否必须修改命令才能创建私钥和公钥?

3 个答案:

答案 0 :(得分:73)

使用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文件对请求进行签名,则不需要执行此步骤。

希望有所帮助! This answer explains不同的文件扩展名。

答案 1 :(得分:12)

公钥存储在x.509证书中。 证书将身份信息(公用名,地址,等等)绑定到此公钥。

答案 2 :(得分:3)

创建私钥 - 公钥对。

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

另见