为此,我使用以下命令将。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);
}
}
谁能指导我解决这个问题吗?
解决了问题。
我们不需要在密码图中给出密码。因为证书只包含公钥。它不会接受密码。
从代码中删除了下面的行,它工作得很好。
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