zu lesen Ich integriere CXF Webservices, keine Feder, Nachrichten sind unterzeichnet. Als Anleitung habe ich dieses Tutorial CXF Security verwendet. Ich möchte X509-Zertifizierungen oder den Keystore in der Datenbank speichern.
Ich habe WSS4JOutInterceptor.loadCryptoFromPropertiesFile-Methode überschrieben.Wie Keystore von db
@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;
}
Aber ein paar Probleme hier:
1. wie
Verursacht durch: java.lang.NullPointerException: bereitgestellt null Name bei javax.security.auth.x500.X500Principal . (X500Principal.java:172)
ich habe überprüft und subjectDN ist nicht null
2. ich bin nicht sicher, ob dies eine Art, wie ich zu gehen und soll tach irgendwie private Schlüssel die Nachricht
Dies ist ein Duplikat sein kann, wie http://stackoverflow.com/questions/3184502/storing-public-and-private-keys-in-a-database-or-keystore – fabfas
Ich denke, ich habe kein Problem, den Keystore von db zu lesen. Das Problem ist mit WSS4JOutInterceptor, da es nur Eigenschaften liest, wenn ich nicht falsch bin – ra74
Angenommen, WSS4JOutInnerceptor liest oder akzeptiert nur Eigenschaften, können Sie Ihren Code für Eigenschaften mit einem Adapter-Muster anpassen. Hoffe es würde helfen! – fabfas