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

将SSL密钥存储库(.jks)放在哪里,以及如何从.jar访问它?

养鸿运
2023-03-14
System.setProperty("javax.net.ssl.keyStore", pathToJKS);
System.setProperty("javax.net.ssl.keyStorePassword", pw); 
boolean isIDE = ...;
String pathToJKS = isIDE ? "src/main/resources/store.jks" : getPathFromJar("store.jks");

public String getPathFromJar(String filename) {
    ClassLoader classLoader = getClass().getClassLoader();
    final URL resourceUrl = classLoader.getResource(filename);

    if (resourceUrl != null) {
        return resourceUrl.toExternalForm();
    } else {
        return null;
    }
}

共有1个答案

柴宏浚
2023-03-14

所有环境都使用相同的密钥库吗?如果是的话,那么我会像你现在做的那样包括在内。如果没有,那么只需添加keystore-path作为启动中包含的必需参数,例如:

java -jar <jar-file>.jar -Dkeystore.location=/some/location/to/keystore.jks

否则,以下操作应该起作用,以检索位于resources-文件夹中的jar-file:

//note the slash                       --v
theResource = MyClass.class.getResource("/store.jks");
// MyClass => class where the getPathFromJar()-method resides

然后只是执行类似于这样的操作以便加载它(我猜这已经涵盖了,但是嘿):

KeyStore.getInstance(KeyStore.getDefaultType()).load(theResource, password);
 类似资料:
  • 我没有找到任何关于在前端端实现逻辑来管理Azure密钥库的可能性的信息。同时,我创建了一个Node JS服务器项目使用ENV来管理Azure Key Vault,它工作成功,但我想在我的Angular应用程序中得到同样的效果。

  • 问题内容: 我需要将2个密钥存储到KeyStore中,这是相关代码: 尽管我得到了执行,但“私钥必须带有证书链” 那到底是什么?以及我将如何生成它? 问题答案: 您还需要提供私钥条目的证书(公钥)。对于由CA签名的证书,链是CA的证书和最终证书。对于自签名证书,您只有自签名证书。 示例: 要生成证书,请点击以下链接: 示例:

  • 同一空间/存储库中机密的逻辑分组 HSM的可能性 日志记录/审核 检索/更改机密的一个位置,许多应用程序可能依赖该位置而不触及应用程序。 我不知道如何在我的Spring Boot应用程序中处理存储库访问。当我使用azure-key-vault spring boot Starter时,我必须设置Applications.Properties中的访问权限,如本教程:如何使用spring boot S

  • 我已经创建了Azure VM,并在其中安装了我的Java应用程序,然后连接到WASB存储。 我添加了以下jars和core-site.xml来从Java应用程序访问WASB存储。 Azure-存储 Hadoop-Azure core-site.xml 如何使用加密密钥访问WASB存储。上面的配置有样例吗? 注意:-我将Azure VM直接连接到WASB存储,而不使用HDInsight集群。

  • 对于PGP想要使用的签名和加密密钥,我是否可以使用2个JCE、RSA或DSA keypairs?把它们保存在密钥库中,当我想使用这些密钥时,只需按需重建PGP基础结构?

  • 我有一个场景: > 在Azure中使用secret创建密钥库。 用代码访问此机密。 关注本文-https://kasunkodagoda.com/2018/04/28/allow-application-running-on-an-azure-virtual-machine-to-access-azure-key-vault-using-managed-service-identity/ http