搜外网>搜外问答>问答页面

帮忙:公钥 私钥 证书链分别是哪一个文件 悬赏3元 已结束

<p>用phpcustom搭建的环境  配置证书后apache就无法启动,  怀疑是证书文件选择错误了,帮忙看一下公钥  私钥 证书链分别是哪一个文件 谢谢大家</p><p><br></p>

追加问题
    11 人参与回答
最佳回答
开发公司
开发公司 · 环创传媒是一家集企业网站建设和推广、品牌设计、微信小程序开发,影视后期,在线智能平台等于一体的传媒公司。

第一个是安全证书 第二个是私钥 我用的IIS服务器 一般传pem格式的公钥

weixin_dfvip152
weixi · 互联网行业8年:SEO/SEM/营销【SEO优化/高质量外链/接单中QQ:97528680微信:hnd185】

<p>在看书的时候涉及到了Java的安全加密技术,然后发现生成私钥公钥证书用的是keytool这个jdk自带插件</p><p> </p><p>keytool的主要用法:</p><p>keytool的几个常用的命令。</p><p>1.创建证书</p><p>2.查看证书库</p><p>3.导出证书文件</p><p>4.导入证书的信息</p><p>5.查看证书信息</p><p>6.删除密钥库中的条目</p><p>7.修改证书条目的口令</p><p> </p><p>SUN公司提供了制作证书的工具keytool。</p><p>      在JDK 以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\。</p><p> </p><p> </p><p>1.创建证书</p><p>Cmd代码  </p><ol><li>keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "  </li></ol><p></p><p>说明:</p><p>密钥库密码为testtest</p><p>证书条目密码为testtest1,若别名为test2则密码为testtest2</p><p>这样为个不乱</p><p>功能:</p><p>创建一个别名为test1的证书条目,该条目存放在名为的密钥库中,若密钥库不存在则创建。</p><p>参数说明:</p><p>-genkeypair:生成一对非对称密钥;</p><p>-alias:指定密钥对的别名,该别名是公开的;-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;</p><p>-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件</p><p>注意:</p><p>1.“名字与姓氏”应该是域名,若输成了姓名,和真正运行的时候域名不符,会出问题;</p><p>2.再次输入密码,第一次输入的是密钥库(keystore)的密码,第二次输入的是证书条目的密码</p><p>3.这里所说的证书库和密钥库是等同的(个人观点)</p><p>为了测试需要,这里再创建两个别名为test2和test3的证书条目在密钥库中,代码如下:</p><p>Cmd代码  </p><ol><li>keytool -genkeypair -alias "test2" -keyalg "RSA" -keystore "  </li><li>keytool -genkeypair -alias "test3" -keyalg "RSA" -keystore "  </li></ol><p> </p><p>2.查看证书库</p><p>Cmd代码  </p><ol><li>keytool -list -keystore   </li></ol><p></p><p>功能:</p><p>查看名为的证书库中的证书条目</p><p>3.导出到证书文件</p><p>Cmd代码  </p><ol><li>keytool -export -alias test1 -file  -keystore   </li></ol><p></p><p>功能:</p><p>将名为的证书库中别名为test1的证书条目导出到证书文件中</p><p>4.导入证书的信息</p><p>Cmd代码  </p><ol><li>keytool -import -keystore test_cacerts -file    </li></ol><p> </p><p>功能:</p><p>将证书文件导入到名为test_cacerts的证书库中,</p><p>5.查看证书信息</p><p>Cmd代码  </p><ol><li>keytool -printcert -file "   </li></ol><p> </p><p>功能:</p><p>查看证书文件的信息</p><p>6.删除密钥库中的条目</p><p>删除前查看密钥库中的证书条目</p><p>Cmd代码  </p><ol><li>keytool -list -keystore   </li></ol><p>删除密钥库中别名为test2的证书条目</p><p>Cmd代码  </p><ol><li>keytool -delete -keystore  -alias test2  </li></ol><p>删除后查看密钥库中的证书条目</p><p>Cmd代码  </p><ol><li>keytool -list -keystore   </li></ol><p></p><p>7.修改证书条目的口令</p><p>交互的方式</p><p>Cmd代码  </p><ol><li>keytool -keypasswd -alias test1 -keystore   </li></ol><p> </p><p>功能:</p><p>将密钥库中别名为test1的证书条目的密码修改为testtesttest1</p><p>非交互方式</p><p>Cmd代码  </p><ol><li>keytool -keypasswd -alias test1 -keypass testtesttest1 -new testtest1 -storepass testtest -keystore   </li></ol><p>功能:</p><p>将密钥库中别名为test1的证书条目的密码修改为testtest1</p><p> </p><p>我使用的命令:</p><pre><code><ol><li><div><div></div></div><div><div>keytool -genkey -alias friend -keypass friend4life -validity 10000 -keystore ijvmkeys</div></div></li><li><div><div></div></div><div><div>赋给ijvmkeys的密码是:ijvm2ed</div></div></li><li><div><div></div></div><div><div>keytool -genkey -alias stranger -keypass stranger4life -validity 10000 -keystore ijvmkeys</div></div></li></ol></code></pre><p> </p><p>这里是将生成了两对私钥公钥和证书放在一个keystore里面,用别名区分。并且指定了keystore的展示密码为:ijvm2ed,条目的密码分别为:friend4life和stranger4life。</p><p>然后接下来使用jarsigner利用生成的秘钥证书进行签名:</p><pre><code><ol><li><div><div></div></div><div><div>jarsigner -keystore ijvmkeys -storepass ijvm2ed -keypass friend4life friend</div></div></li><li><div><div></div></div><div><div>jar signer -keystore ijvmkeys -storepass ijvm2ed -keypass stranger4life stranger</div></div></li></ol></code></pre><p> </p><p>然后使用jarsigner可以做签名校验:</p><p></p><p>将jar里的文件做修改,然后再次验证:</p><p></p><p> </p><p> </p><p>keystore文件不是证书,它可以使用命令得到证书。加密的私钥和公钥怎么得到呢?以及单独的证书怎么用Java方式得到呢?</p><p></p><p>之前一直在纠结这个问题,并且图为friend4life是我们的私钥,后面发现那只是仓库钥匙而已。</p>

—━╋う寒冰╰☆
—━╋う寒 · 广告策划/美工/CDR

问题已解决 

你这是啥证书?SSL的?

这个还真的看不懂

你这个是类似某块链吗

不知道,找技术问问吧

崔家大院
崔家大院 · 网站诊断、建站、快速排名

让技术员解决吧

这个好复杂的样子

万物皆有灵
万物皆有灵 · 同步带轮

这个看不懂哦