Tag: keytool

您是否需要密码才能访问信任库(使用java keytool)?

我刚刚使用java keytool创建了一个信任库(用于没有CA证书的服务器的服务器身份validation)。 但是我只是注意到一些奇怪的事 我这样开始我的客户: java -Djavax.net.ssl.trustStore=/client.keystore -classpath Client (注意:没有指定密码) 以上呼叫有效。 但是,当我尝试这个: java -classpath Client 这是行不通的。 (显然它不起作用,它需要信任库)。 我本来希望传递这个选项(但我没有): -Djavax.net.ssl.trustStorePassword=mypass 问题 :您是否需要密码才能访问信任库? 密码只是用于修改吗? 密钥库怎么样?

keytool错误bash:keytool:找不到命令

我试图从Java bin目录执行keytool但是我收到一个错误警告bash:keytool:command not found。 root@xxxxxx]# keytool -genkey -alias mypassword -keyalg RSA bash: keytools: command not found

无法更改密钥库格式

我正在尝试使用最新JRE(版本1.8.0_151)中的keytool创建一些密钥库。 当我使用此命令创建密钥库时keytool -genkey -alias serverprivate -keystore server.private -keyalg rsa -storepass apassword -keypass apassword它向我显示以下警告: Warning: The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using “keytool -importkeystore -srckeystore server.private -destkeystore server.private -deststoretype pkcs12”. 所以我输入命令,它说完了,旧的密钥库保存在server.private_old中。 但是当我运行keytool -list -keystore server.private并输入密码时,它仍然被列为JKS而不是PKCS12。 为什么是这样? 更新 它也没有默默地改为pkcs12,因为当我使用KeyStore store = KeyStore.getInstance(“pkcs12”); 在java中它会抛出一个错误,而它在使用getInstance(“JKS”);时工作正常getInstance(“JKS”); […]

如何从GoDaddy导入证书以进行Java代码签名?

我需要能够使用来自CA的证书来签署jar文件。 我按照GoDaddy的文档说明如何执行此操作: http : //support.godaddy.com/help/article/4780/signing-java-code 但是,步骤3需要导入从GoDaddy网站获取的证书文件。 根据文档,命令是: keytool -import -trustcacerts -keystore codesignstore -storepass -alias codesigncert -file mycert.cer 虽然我成功提交了CSR(由keytool生成)并获得了响应,但我无法终身了解如何获取mycert.cer文件。 可以选择下载PEM文件。 但是在运行上面的命令后,我收到错误“keytool error:java.lang.Exception:Incomplete certificate chain in reply”。 我已多次尝试过,并仔细检查我是否正在使用正确的密钥库。 我甚至尝试过使用SSH-1重新键入一次,然后再使用SSH-2重新键入。 根据这个人( https://stackoverflow.com/questions/20793254/signing-a-jar-the-signers-certificate-chain-is-not-validated?rq=1 ),他们至少能够成功导入PEM文件。 但我不确定这是否是正确的方法。 GoDaddy的技术支持绝对可怕。 我所谈到的大多数技术人员根本不熟悉keytool,在他们转发给他们的SSL部门(480-505-8852)之前,我花了好几次尝试打电话给他们,这至少比一般情况要好一些。支持。 如果我使用Internet Explorer或Firefox,我相信我可以自动生成CSR而不是创建一个通过密钥工具。 然后我将通过Web浏览器导出证书。 从阅读各种其他在线文档,我相信我可以使用openssl转换为keytool的正确格式。 我不确定这将如何工作的细节,但我没有看到任何其他选择。 有没有人成功的这个或有任何指示如何进行? 我在这里找到了一个类似的问题( 使用GoDaddy的spc文件签署一个java小程序 ),但答案只是指向GoDaddy糟糕的文档。 如果可以的话,我会使用另一个CA,但我已经付了钱,经历了漫长而漫长的validation过程。

将PFX文件导入现有JKS文件(不从.pfx转换为.jks)

我有Java Web服务,并使用Java Keytool创建的jks文件实现了X.509。 keytool -genkey -keyalg RSA -sigalg SHA1withRSA -validity 730 -alias myservicekey -keypass skpass -storepass sspass -keystore serviceKeystore.jks -dname “cn=localhost” keytool -genkey -keyalg RSA -sigalg SHA1withRSA -validity 730 -alias myclientkey -keypass ckpass -storepass cspass -keystore clientKeystore.jks -dname “cn=clientuser” 要在客户端和服务器之间建立信任,我将服务器证书导入客户端和客户端证书到服务器。 将服务器公钥(证书)导入客户端。 keytool -export -rfc -keystore clientKeystore.jks -storepass cspass -alias myclientkey -file MyClient.cer keytool -import -trustcacerts […]

keytool -genkey错误:密钥库文件不存在

我尝试创建一个新的自我认证的密钥库文件 我使用的命令是: keytool -genkey -selfcert -dname “cn=My Name, ou=Orga unit” -alias selfcertified -keypass somepass -keystore keystore.jks -storepass anotherpass -validity 365 但我总是得到这个恼人的错误: keytool error: java.lang.Exception: Keystore file does not exist: keystore.jks 我不明白为什么我收到这个错误。 上面的命令应该创建一个新的密钥库,为什么它抱怨一个不存在的商店?

私钥和密钥库中签名证书之间的链接

我正在做jetty SSL configuration 。 我使用keytool创建了CSR,它已经为密钥库添加了一个私钥, 收到基于CSR的证书,将证书转换为DER格式,并将证书作为trustcacerts导入密钥库 签名证书在证书路径中具有根/中间证书 在将其转换为DER格式后,我还在受信任的根证书下的IE中安装了根证书和中间证书。 使用https时,浏览器显示证书错误并将证书视为自签名证书。 题 这是否意味着由于证书在证书路径中没有Root / intermediate证书,因此不考虑已安装的签名证书? 虽然从CA收到的签名证书具有指向证书路径中的根/中间证书的链接。 如果在此过程中出现任何问题,请提出建议。 为此添加keytool命令。 创建密钥库 keytool -keystore serverdns.keystore -alias server -genkey -keyalg RSA -keysize 2048 创建CSR keytool -certreq -alias server -keystore serverdns.keystore -file server.csr 安装签名证书 keytool -import -trustcacerts -alias cert -keystore serverdns.keystore -file signedcert.der.cer 我在安装签名证书时尝试使用相同的别名’server’,但它失败并出现错误 keytool错误:java.lang.Exception:无法从回复建立链

Curl cacert与Java HttpClient相当

我想知道我是否能够使用curl建立连接,如下面的命令, curl –cacert some.pem https://someurl.com/resource 如何将其转换为httpclient代码? 我知道我需要转换pem文件并创建一个新的密钥库等等。但是所有这些openssl,keytool命令,密钥库,信任库让我困惑,我不知道使用哪个以及使用哪个顺序。

尝试了很多答案让我的keytool.exe打开但失败了

我试图让keytool.exe运行,但命令提示符一打开就消失得如此之快。 我还尝试手动输入命令提示符 C:\ Program Files \ Java \ jdk1.6.0_25 \ bin 它说“程序”不被识别为内部或外部命令,可操作程序或批处理文件。 我无法打开程序文件夹本身。 我去了环境变量并改变了路径 1)C:\ Program Files \ Java \ jdk1.6.0_25 \ bin 2)C:\ Program Files \和更多差异相关的路径等等但是命令提示符中的结果仍然给我这个错误。 当我输入’C:> java’时它显示了列表(我附上了cmd的屏幕截图,但不允许新用户) 我从这个链接按照这个方向 我找不到Android keytool 他们都没有能够解决我的问题。 我错过了什么吗? 我希望尽快解决这个问题。 !!!更新!!! 我发现我必须在路径前键入cd “cd C:\ Program Files \ Java \ jdk1.6.0_25 \ bin” 我假设如果我输入C:并按回车键,它会将目录更改为C:然后我可以从那里输入路径,但即使在“程序文件”本身也总是出错。 感谢大家! 这是我的命令提示符中的示例 C:> Program Files \ Java […]

Java的keytool命令,带有IP地址

我试图通过httpsurl获取图片,但我遇到了一些问题。 我用Java的keytool命令生成一个密钥库。 如果我指定公共名称(CN)等于我的主机名,例如CN = JONMORRA,然后尝试通过我的主机名查询,例如https:// JONMORRA:8443 /那么它工作正常。 但是,如果我将公共名称指定为我的IP地址,例如CN = 192.168.56.1,并尝试通过我的IP地址查询,例如https://192.168.56.1:8443/然后我收到错误 HTTPS主机名错误:应为 这说明我的主机名是错误的,即使这是我在密钥库中指定的内容。 我想使用ip地址而不是主机名,这样我就可以在Linux和Windows机箱之间进行查询,而无需担心主机名。 为什么CN不接受IP地址,我该如何解决? 谢谢