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

受信任的证书条目不受密码保护

郏经纬
2023-03-14

为此,我使用以下命令将。cer文件导入到jks文件中。(密码和密码一样,提示要求接受证书,我给y,然后说证书加到keystore了)

keytool-importcert-file xyz.cer-keystore test.jks-alias“testsp”

然后我使用这个jks文件创建凭据,如下所示。

    private Credential getCredential() {
          KeyStore keystore = readKeystoreFromFile("C:\\Users\\WTC\\Downloads\\icicistage\\test.jks", "password");
          Map<String, String> passwordMap = new HashMap<String, String>();
          passwordMap.put("testsp", "password");
          KeyStoreCredentialResolver resolver = new KeyStoreCredentialResolver(keystore, passwordMap);

          Criteria criteria = new EntityIDCriteria("testsp");
          CriteriaSet criteriaSet = new CriteriaSet(criteria);

          Credential credential = null;
          try {
             credential = resolver.resolveSingle(criteriaSet);
          } catch (SecurityException e) {
              e.printStackTrace();
          }
         return credential;
    }

    private static KeyStore readKeystoreFromFile(String pathToKeyStore, String keyStorePassword) {
        try {
            KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
            InputStream inputStream = new FileInputStream(pathToKeyStore);
            keystore.load(inputStream, keyStorePassword.toCharArray());
            inputStream.close();
            return keystore;
        } catch (Exception e) {
            throw new RuntimeException("Something went wrong reading keystore", e);
        }
    }

谁能指导我解决这个问题吗?

共有1个答案

金宣
2023-03-14

解决了问题。

我们不需要在密码图中给出密码。因为证书只包含公钥。它不会接受密码。

从代码中删除了下面的行,它工作得很好。

           passwordMap.put("testsp", "password");
 类似资料:
  • 我已经通过复制我计划连接的Idp的509条目生成了testIdp.cer文件。然后,我通过执行以下命令创建了JKS文件 执行时,它要求输入我已提供密码的密码。对于问题“信任此证书?[no]:“,我给出了”y“作为输入。消息显示为“证书已添加到密钥库”。 然后,我在securityContext.xml中配置了以下详细信息: 但是当我运行应用程序时,在服务器启动和加载应用程序的主页时,我得到了以下两

  • 我正在将spring-saml2-sample应用程序集成到我自己的应用程序中。我的服务提供商连接到Shibboleth IDP。我正在使用Spring Security SAML应用程序附带的samlkeystore.jks中提供的私有证书测试SP。我使用以下命令在密钥库中注册了IDP签名公钥:keytool-importcert-alias idpsignkey-keypass passwor

  • 得到了一个证书来签署Android未签名的发布apk文件,所以我导入了使用命令: 但使用android studio对应用程序进行签名时会产生错误: 我的推断是,由于密钥没有密码保护,因此我再次尝试并使用以下方法设置密钥密码: 但错误依然存在。 我还尝试使用jarsigner的手动程序: 出现错误: 请帮助我无法获得有关Android apk登录错误的相关帖子

  • 我刚刚在Google Cloud上的VM上设置了我的Neo4j服务器,我使用的是企业版4.1.1,并且我已经完成了David Allen关于如何使用LetsEncrypt获得证书的精彩帖子(在这里)。 这一切都工作得很好,我现在有了一个完全安全的Neo4j服务器,我可以通过浏览器()使用我的主机名访问它。但是,我现在在让我的应用程序使用javascript驱动程序连接到服务器时遇到了问题。 我不断

  • 我正试图使用Gradle在Ubuntu服务器上构建我的Android项目。 在我的Windows 10 PC上使用Android Studio进行构建工作正常 但是,使用或失败,输出如下: 在我的研究中,我只发现了两个类似的问题,两个答案都不适合我: Paul Lammertsma-gradlew.bat(和gradlew)SSLHandShakeExc0019 这个错误非常相似,但没有真正的解决

  • 我正在使用OpenSSL以避免为此付费。我的服务器正在运行IIS 8和Windows server 2012。 我创建证书的方式是: openssl请求-new-key cakey.pem-x509-days 1825-extensions v3_ca-out ca.crt 最后,我使用以下内容签署了证书请求: openssl x509-req-days 365-in certreq.txt-ca