小编hig*_*yer的帖子

收到致命警报:bad_certificate

我正在尝试设置SSL套接字连接(并在客户端上执行以下操作)

  1. 我生成Certificte签名请求以获取签名的客户端证书

  2. 现在我有一个私钥(在CSR期间使用),签名的客户端证书和根证书(在带外获得).

  3. 我将私钥和签名的客户端证书添加到证书链,并将其添加到密钥管理器.以及信任管理员的根证书.但是我收到了错误的证书错误.

我很确定我使用的是正确的证书.我是否应该将签名的客户端证书添加到信任管理器?试过,还没有运气.

//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 …
Run Code Online (Sandbox Code Playgroud)

java sockets ssl truststore x509certificate

12
推荐指数
1
解决办法
5万
查看次数

标签 统计

java ×1

sockets ×1

ssl ×1

truststore ×1

x509certificate ×1