gpt4 book ai didi

ssl - pem、crt、key文件的区别

转载 作者:行者123 更新时间:2023-12-04 07:08:16 38 4
gpt4 key购买 nike

我在理解 openssl 生成的文件之间的区别以及如何检测它们时遇到问题。
例如,我正在尝试使用私钥生成自签名证书并从 p12 生成 JKS 文件
格式。我像疯子一样在谷歌上搜索,但我仍然不知道如何正确生成它以便能够使用以下命令。

openssl pkcs12 -export -in user.pem -inkey user.key -certfile user.pem -out testkeystore.p12
keytool -importkeystore -srckeystore testkeystore.p12 -srcstoretype pkcs12 -destkeystore wso2carbon.jks -deststoretype JKS
来源: https://www.ibm.com/support/pages/how-generate-jks-keystore-existing-private-key
我发现了几个不同的命令来生成自签名证书和私钥,但我不知道如何将结果文件映射到上面的命令,更糟糕的是我不明白这些命令的作用。
我的意思是我看到他们生成了哪些文件,并了解用于签名的证书和私钥(或者可能相反:|)但是这些命令和 cert.pem === certificate.crt 之间有什么区别 - 那些文件扩展名让我发疯。
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
这是我在使用 openssl 命令时遇到类似问题的另一种情况。在这一点上,我什至准备阅读一些 RFC(我希望它不会变成这样 :))
提前感谢您的帮助

最佳答案

这些文件名代表 key 生成和验证过程的不同部分。请注意,名称只是约定俗成的,您可以轻松调用文件 pepperoni.pizza并且内容将相同,因此请注意如何使用文件名。
PKI 的简要入门 - key 分为两部分,一个公钥和一个私钥。公钥可以公开且广泛地分发,您可以使用它来验证,但不能复制使用私钥生成的信息。私钥必须保密。.key文件通常是私钥,由服务器用来加密和打包数据以供客户端验证。.pem文件通常是公钥,客户端用来验证和解密服务器发送的数据。 PEM 文件也可以是编码的私钥,因此如果您不确定,请检查内容。.p12文件都嵌入了 key 的两半,因此管理员可以轻松地管理 key 的两半。.cert.crt文件是签名的证书——基本上是允许某些网站被第三方标记为值得信赖的“魔法”。.csr是一个证书签名请求,一个受信任的第三方用来验证 key 对的所有权的挑战,而无需直接访问私钥(这使得不直接了解您的网站的最终用户可以确信证书已验证)。在自签名场景中,您将使用证书签名请求和您自己的私钥来验证您的私钥(因此是自签名)。根据您的特定应用程序,这可能不需要。 (需要 Web 服务器或 RPC 服务器,但其他不多)。
JKS keystore 是 Java 的一种本地文件格式,用于存储和管理上述部分或全部组件,并保留每个 key 允许或拒绝的相关功能的数据库。
您列出的命令对我来说看起来不错,除了询问不同文件的用途之外,我没有看到其他问题。如果您需要更多信息,请丰富您的问题。

关于ssl - pem、crt、key文件的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63195304/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com