当前位置: 首页 > 知识库问答 >
问题:

如何使用自签名证书创建密钥库和信任库?

易焱
2023-03-14

我只使用自签名证书进行测试。

问题:

Q1.我想知道为什么我需要在步骤6中将服务器和客户端自己的证书添加到各自的信任库中。

2.创建x509证书

openssl req-x509-new-nodes-key diagserverca.key-sha256-days 1024-out diagserverca.pem

3.从私钥和公共证书创建PKCS12密钥存储库。

keytool-importkeystore-destkeystore server.keystore-srckeystore serverkeystore.p12-srcstoreType pkcs12-别名server-cert

5.将客户端的证书导入服务器的信任存储。

keytool-导入-别名客户端-证书-文件diagclientca.pem-密钥存储服务器.信任存储

keytool-导入-别名服务器-证书-文件diagserverca.pem-keystore server.truststore

1.生成私钥

openssl genrsa-Out DiagClientCa.key 2048

3.从私钥和公共证书创建PKCS12密钥存储库。

openssl pkcs12-export-name client-cert-in diagclientca.pem-inkey diagclientca.key-out clientkeystore.p12

4.将PKCS12密钥存储转换为JKS密钥存储

5.将服务器的证书导入到客户端的信任存储。

keytool-导入-别名服务器-证书-文件diagserverca.pem-keystore client.truststore

6.将客户端的证书导入到客户端的信任存储。

共有1个答案

何松
2023-03-14

Q1.我想知道为什么我需要在步骤6中将服务器和客户端自己的证书添加到各自的信任库中。

你不知道。将服务器和客户端证书添加到彼此的信任库中。服务器和客户机不需要信任他们自己的证书,但他们需要信任对方的证书。

Q2.我可以减少数字步骤来实现同样的事情吗?如果是,那又是怎样做的呢?

  • 在第一部分中,第5步和第6步都是错误的。应该有一个步骤:将服务器的证书导出到客户端的信任库。
  • 同样,在第二部分中,步骤5和6也是错误的,并且应该只有步骤:将客户端的证书导出到服务器的密钥库。
  • 换句话说,两个步骤5应该互换,而两个步骤6应该删除。

您将在JDK文档中的JSSE参考指南中找到正确的操作说明。每步大约三步。但它真正表明的是,自签名证书真的不值得他们打印在纸上。获取CA签名的证书。更有价值,更容易部署(没有导出步骤)。

你从哪弄来的这些垃圾?

 类似资料:
  • 看看PayPal(https://www.PayPal.com/)的安全证书。它说:连接加密:高级加密(TLS_RSA_WITH_AES_256_CBC_SHA,256位密钥)。 现在,我如何创建自己签名的证书,使其具有相同的加密,AES256? 我在OpenSSL中尝试了以下代码: 最后我得到了128位证书。然后我试着: 即使我指定了'-aes256',我最终还是得到了128位证书:连接加密:高

  • 我想用Java创建一个密钥库文件(.jks)和一个自签名证书(.cer/.crt)。我正在用: 生成密钥存储: 关于我可能会出错的地方有什么建议吗?

  • 问题内容: 我试图使用(java)密钥工具创建一个自签名证书,但是当我尝试使用它时,出现以下异常(有关完整异常,请参见底部)。 我知道我可以使用以下代码绕过此代码: (资源) 但是我对此解决方案不感兴趣,因为我认为这会造成安全漏洞。(如果我错了,请纠正我)。 谁能指出我正确的方向?我目前正在本地进行测试,因此很容易进行更改。我可以访问服务器代码,客户端代码和.keystore文件。 更新资料 我试

  • 我正在为嵌入式Linux设备添加HTTPS支持。我尝试通过以下步骤生成自签名证书: 这是可行的,但我得到一些错误,例如,谷歌Chrome:

  • 问题内容: 据我了解,密钥库通常会保存私钥/公钥,而信任库通常只保存公钥(并且代表您打算与之通信的受信任方的列表)。好吧,这是我的第一个假设,因此,如果这不正确,那么我可能起步并不顺利… 我很想了解使用keytool时如何/何时区分商店。 因此,到目前为止,我已经使用 这将创建我的keystore.ks文件。我回答了我是否信任bob的问题,但是我不清楚这是否创建了密钥库文件或信任库文件?我可以将我

  • 我已经为我的服务器生成了自我签名的证书。然后用设置->安全->安装添加到Android中。 据我所知,在我将证书添加到受信任的列表中之后,它应该可以很好地工作。我是不是漏掉了什么?其思路是通过Android系统添加证书,无需修改应用程序代码。 顺便说一句,我使用进行网络连接。也许我应该启用连接?