KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying to setup a SSL Socket connection (and am doing the following on the client) I generate a Certificte Signing Request to obtain a signed client certificate Now I have a private key (used during the CSR), a signed client certificate and root certificate (obtained out of band). I add the private key and signed client certificate to a cert chain and add that to the key manager. and the root cert to the trust manager. But I get a bad certificate error. I am pretty sure I am using the right certs. Should I add the signed client cert to the trust manager as well? Tried that, no luck still. //I add the private key and the client cert to KeyStore ks FileInputStream certificateStream = new FileInputStream(clientCertFile); CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); java.security.cert.Certificate[] chain = {}; chain = certificateFactory.generateCertificates(certificateStream).toArray(chain); certificateStream.close(); String privateKeyEntryPassword = "123"; ks.setEntry("abc", new KeyStore.PrivateKeyEntry(privateKey, chain), new KeyStore.PasswordProtection(privateKeyEntryPassword.toCharArray())); //Add the root certificate to keystore jks FileInputStream is = new FileInputStream(new File(filename)); CertificateFactory cf = CertificateFactory.getInstance("X.509"); java.security.cert.X509Certificate cert = (X509Certificate) cf.generateCertificate(is); System.out.println("Certificate Information: "); System.out.println(cert.getSubjectDN().toString()); jks.setCertificateEntry(cert.getSubjectDN().toString(), cert); //Initialize the keymanager and trustmanager and add them to the SSL context KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, "123".toCharArray()); TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); tmf.init(jks); Is there some sort of certificate chain that I nee
Tags (comma-separated)
Save Edits
Cancel