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

Tomcat/JKS/Keytool-重新生成私钥?

柳正志
2023-03-14

共有1个答案

宰父桐
2023-03-14

不,这就是非对称密码学的全部要点:当只知道公钥(包含在CSR和证书中)时,不可能生成私钥。

如果只能从CSR或证书重新生成私钥,则任何人都可以模拟已向其颁发证书的实体。

如果您丢失了私钥,您只需创建一个新的密钥对,提交一个新的CSR并获得一个新的证书。一些CAs允许在初始证书有效期内作为其合同的一部分免费重新密钥。

要申请X.509证书,您必须:

  • 生成公钥/私钥对。从本质上讲,公钥可以公开分发,因为它不足以获得私钥(至少不能在合理的时间内获得)。
  • 将该公钥连同您的身份信息提交给证书颁发机构。这可以通过以下方法完成:
    • 证书签名请求(CSR,PKCS#10),其中包含您的公钥和您希望在证书中包含的数据(例如,您想要的主题DN)。尽管这些数据与证书中的数据非常相似,但CA应该主要使用这些数据来识别请求本身,因为CAs应该正确地执行它们的工作,检查它们在证书中的内容,而不仅仅是盲目地将CSR变成证书。CSR本身使用与证书中的公钥匹配的私钥进行签名。它实际上非常类似于自签名的X.509证书(没有颁发者信息和有效日期),但不是一个。
    • 浏览器内证书应用程序的SPKAC或CRMF。

    然后,您必须将此证书与与其公钥相匹配的私钥结合使用。有些工具使用单独的文件来实现这一点,也可以根据密钥存储区中的私钥项导入证书。

 类似资料:
  • 我试图使用JDK提供的keytool实用工具从k.jks文件生成一个。p12。 keytool-importkeystore-srckeystore mykeystore.jks-destkeystore mykeystore.p12-srcstoretype jks-deststoretype pkcs12 但是,该命令仅适用于Java1.6及以上版本。我需要在没有JDK1.6或更高版本的机器上

  • 当使用keytool生成keystore时,我收到错误非法选项:genkeypair。但是当我看到帮助时,genkeypair是可用的选项。我在指挥上做错了什么? C:\program files\java\jdk1.7.0_51\bin>keytool.exe-genkeypair-alias orbis-storetype pkcs12-keyalg rsa-keysize 2048-keys

  • 我想生成一个自签名的可信证书和一个csr,并用创建的可信证书对csr进行签名。我正在用keytool尝试它。在使用以下命令创建受信任证书的第一步中 keytool-list-v-keystore cert/test.keystore 使用上面的“genkey”命令创建的证书的条目类型为“privatekeyentry”,如何创建可信的证书条目?

  • 问题内容: 我以编程方式创建了jks类型(即默认类型)的Java密钥库。 它最初是空的,所以我创建了DSA证书。 如何查看公钥和私钥? 即有一个命令可以打印我的证书的私钥? 我只能从我的理解中找到哪个可以整体打印证书: 我认为这是整个证书。如何通过keytool查看私钥(或公钥)? 问题答案: 您在密钥库中创建了一个私有(和关联的公共)密钥。要使其真正可用,可以让它由认证机构(CA)签名- 因为这

  • 如果我在某个地方出错,请纠正我,因为我是加密领域的新手。 我使用以下命令在Java 7中生成EC密钥对: 根据:文件。神谕com/javase/7/docs/technotes/tools/windows/keytool。html#命令 keytools-genkey对-alias MyServerPair-keyalg EC-keysize 571-sigalg SHA512 with ECDS

  • 我有一个Zend框架2 formElement csrf的问题。 它工作正常,直到我提交一个无效的表单,点击同一页,然后刷新页面。字段上出现"not The相同"验证错误,并出现消息"提交的表单不是来自预期站点"。这是正确的,因为如果我检查csrf字段的值,它与提交前的值不同。 在我决定添加csrf字段之前,表单运行良好。 我正在创建我的csrf字段,如下所示: 并在视图文件中: (FormErr