【发布时间】:2020-12-31 15:17:57
【问题描述】:
我正在尝试为我的本地应用程序制作自签名证书以进行测试。 我设法创建了一个 p12 密钥库,从中生成了服务器证书和私钥。我的服务器启动得很好。 我使用了 openssl 和 keytool。
客户端应用程序需要一个受信任的证书。
如何生成这个文件?我在互联网上尝试了很多,没有发现任何有用的东西。
【问题讨论】:
我正在尝试为我的本地应用程序制作自签名证书以进行测试。 我设法创建了一个 p12 密钥库,从中生成了服务器证书和私钥。我的服务器启动得很好。 我使用了 openssl 和 keytool。
客户端应用程序需要一个受信任的证书。
如何生成这个文件?我在互联网上尝试了很多,没有发现任何有用的东西。
【问题讨论】:
你可以使用任何一个。
keytool -exportcert -keystore ksfile.p12 [-alias name] [-rfc] [-file file]
您可以使用缩写-export 代替-exportcert。如果您省略 -file 输出是标准输出,您可以以通常的方式重定向或管道。如果您不指定-rfc,则输出为DER;如果你这样做,输出是 PEM。 PEM 通常更适合复制到其他系统,尽管现在大多数导入证书的东西都可以接受 DER 或 PEM。如果您省略-file 并且不要重定向并因此输出到您的终端(控制台等),PEM 可以工作,但 DER 始终无法使用,有时会搞砸您的终端/显示器/其他任何东西。 p>
openssl pkcs12 -in ksfile.p12 -nokeys -clcerts [-out file]
在 PEM 中输出证书(此处没有 DER 选项,尽管一些 其他 OpenSSL 函数具有 DER 选项)。如果您省略-out,则输出为标准输出。 如果您在密钥库中只有一个条目,那么这将是正确的。如果您有多个条目,则会输出所有条目,并且您必须查看关于friendlyname、issuer 和subject 的“cmets”以识别正确的条目。
请参阅系统上的手册页 man pkcs12 或最新版本的 man openssl-pkcs12 或 on the web。
【讨论】: