Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openssl X.509:私钥/公钥_Openssl_X509_Private Key_Public Key - Fatal编程技术网

Openssl X.509:私钥/公钥

Openssl X.509:私钥/公钥,openssl,x509,private-key,public-key,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 我是否必须修改该命令才能创建私钥和公钥?公钥存储在x.509证书中。 证书将身份信息

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

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

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

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

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

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


希望有帮助!不同的文件扩展名

创建一个私有公钥对

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
另见


在我的例子中,有一个BEGIN证书和一个BEGIN私钥。证书是我的公钥吗?我可以把这两个文件分开,这样另一方就看不到私钥了吗?是的,证书部分是证书(base64编码,带有公钥),私钥-是doh,私钥。您可以(实际上应该)将它们分开,只向另一方发送证书部分。好的,非常感谢。然后我将向他们发送证书部分:)我想升级投票,但显然我达到了每日投票限制:我不太确定第三个命令的作用,但它似乎与privatekey.pem和publickey.cer配合得很好。谢谢在本例中,
privatekey.pem
是否仅包含私钥或公钥?您在第一个命令中使用了错误的文件扩展名。您应该使用
.key
而不是
.pem
,以避免混淆。生成的文件将只是一个私钥。有人可能会错误地将
.pem
文件发送给其他人,从而造成安全问题。我花了大量时间阅读文章和帖子,试图生成一个.PFX文件,以便将其用于SAML单点登录。您的第二行代码是silver bullet-我没有看到任何人提到使用-x509参数。每个人都可以生成CSR,在这种情况下,我不需要签署我的证书。对于其他用户:如果配置中出现错误,请遵循: