gpt4 book ai didi

java - 有谁知道如何在 Java 中使用没有 keystore 的 StartCom SSL 或使用自定义 keystore ?

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:25 24 4
gpt4 key购买 nike

我发现了以下帖子,我认为我可能会有所帮助,因为我需要一种无需使用 java keystore 即可验证我的网站(我的 java 应用程序连接到的)的方法:

http://www.mombu.com/programming/java/t-ssl-for-java-without-keystores-1366416.html

但是,我对 SSL 世界还很陌生,不知道我需要使用哪些文件和密码,所以如果有人能给我指出正确的方向,那就太好了。如果您没有猜到,我从 StartSSL 获得了 SSL 证书,该证书由 StartCom Ltd 运营/拥有/某物。这是我用来将详细信息放入 keystore 的帖子:

https://forum.startcom.org/viewtopic.php?t=1390

提前致谢!

或者,有什么方法可以让我使用自定义 keystore 。即,我将使用默认 keystore 执行所需操作,然后将 keystore 复制到 .JAR 中,以便我可以告诉我的应用程序使用 .JAR 中的 keystore 而不是 Java 安装目录中的 keystore ,等等...

最佳答案

是的,您可以使用keytool为您的应用创建和使用自己的 keystore 。 JDK 附带的实用程序。

基本上, keystore 是您的 key 和证书的数据存储,它将在您的应用程序中用于向另一个实体验证您自己的身份或对您的消息或任何其他数据进行数字签名。

一个名为 trustore 的独特 keystore 用于保存您信任的实体的公钥证书。

您可以将这些 keystore 放置在您的类路径中,并在代码中指定应用程序中的路径(这些是虚拟机参数,将影响在此虚拟机中运行的所有应用程序):

Properties properties = System.getProperties();
properties.put("javax.net.ssl.keyStore", path/to/keystorefile);
properties.put("javax.net.ssl.keyStorePassword", keyStorePassword);
properties.put("javax.net.ssl.trustStore", path/to/truststore);
properties.put("javax.net.ssl.trustStorePassword", trustStorePassword);

编辑:

是的,您可以在属性文件中指定 keystore 和信任库位置及其密码,并将属性文件加载为 myProperties.load(myProperties.getClass().getResourceAsStream("/path/to/proertyfile.properties"));

然后在代码中将其用作(省略异常处理)(这不会影响任何其他应用):

KeyStore mykeystore = KeyStore.getInstance("JKS");
InputStream is = new FileInputStream("/path/from/myproperties");
mykeystore.load(is, myKeystorePasswordFromProperties.toCharArray());

关于java - 有谁知道如何在 Java 中使用没有 keystore 的 StartCom SSL 或使用自定义 keystore ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8028182/

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