java如何从数据库读取密钥库
我正在集成cxf Web服务,没有spring,消息已签名。作为指导,我使用了本教程CXF Security。
我想在数据库中存储x509证书或密钥库
我已覆盖WSS4JOutInterceptor。loadCryptoFromPropertiesFile方法
@Override
protected Crypto loadCryptoFromPropertiesFile(String propFilename, RequestData reqData) throws WSSecurityException {
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(...);
X509Certificate certificate = (X509Certificate) ks.getCertificate("client");
X509Certificate[] certificates = { certificate};
CertificateStore cs = new CertificateStore(certificates);
return cs;
}
但这里有几个问题:
1.有一个错误,比如
Caused by: java.lang.NullPointerException: provided null name at javax.security.auth.x500.X500Principal.(X500Principal.java:172)
我已检查,subjectDN不为空
2.我不确定这是否是一种方式,我是否应该以某种方式附加私钥来签署邮件
# 1 楼答案