Wir haben eine Server-Zertifikatkette bekamen in .p7b Format von unseren Kunden, und wir müssen unsere Kunden Vertrauensspeicher exportieren drei mit Java/Scala APIExport Server Vertrauen Zertifikatskette unter einer Alias trusts
Ihrer cert-Datei enthält Zertifikate: root, intermediate, actual server ...
Wie können wir drei von ihnen in unseren Trust-Store unter demselben Alias exportieren?
Ist es tatsächlich erforderlich, sie unter einem Alias zu exportieren?
Dies ist, was wir bisher ... tat
//load default cacerts first in order to export the server cert
val keystore = KeyStore.getInstance(KeyStore.getDefaultType)
keystore.load(new FileInputStream(cacertsPath), decryptedPass.toCharArray)
val cf = CertificateFactory.getInstance("X.509")
//this is the server cert we are trying to export
val bais = fullStream(customTrustFile)
val certs = cf.generateCertificates(bais) --> this returns a chain of 3 certs
certs.toArray[Certificate](new Array[Certificate](certs.size())).zipWithIndex.foreach {
case (cert, i) => keystore.setCertificateEntry("api.*.*.site-" + i, cert)
// Save the new keystore contents
keystore.store(new FileOutputStream(cacertsPath),decryptedPass.toCharArray)
Wenn Sie sehen, wie wir Zert einfügen, verwendet es drei Aliasnamen mit Suffix -1, -2, -3, so dass wir am Ende bis einfügen drei Einträge in die Trusts, nicht sicher, ob dies ist das Recht der cert Kette einfügen ..
gibt es eine Möglichkeit, die cert Kette unter einem Alias einfügen?
Wie findet der Client die übereinstimmende Serververtrauensstellung? benutzt es Alias? Benötigt der Client auch nur das Server-Root-Zertifikat? oder es braucht alle drei?
Dank