Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将certificate.crt和certificate.key与SSLServerSocket一起使用_Java_Sockets_Ssl - Fatal编程技术网

Java 如何将certificate.crt和certificate.key与SSLServerSocket一起使用

Java 如何将certificate.crt和certificate.key与SSLServerSocket一起使用,java,sockets,ssl,Java,Sockets,Ssl,下面介绍如何为测试目的创建本地证书,我已使其具有certificate.crt和certificate.key文件。现在,如何将它们与SSLServerSocket一起使用? 我以前使用SSLServerSocket的唯一方法是使用从keytool生成的密钥库,我做了一些研究,没有找到任何具体的方法将openssl生成的证书与SSLServerSocket一起使用建议: 请看此链接: 使用OpenSSL将现有证书转换为PKCS12。询问时需要输入密码,否则第二步将投诉 openssl pkcs1

下面介绍如何为测试目的创建本地证书,我已使其具有
certificate.crt
certificate.key
文件。现在,如何将它们与
SSLServerSocket
一起使用? 我以前使用
SSLServerSocket
的唯一方法是使用从
keytool
生成的密钥库,我做了一些研究,没有找到任何具体的方法将
openssl
生成的证书与
SSLServerSocket
一起使用建议:

请看此链接:

  • 使用OpenSSL将现有证书转换为PKCS12。询问时需要输入密码,否则第二步将投诉

    openssl pkcs12 -export 
      -in [my_certificate.crt] -inkey [my_key.key] 
      -out [keystore.p12] 
      -name [new_alias] 
      -CAfile [my_ca_bundle.crt] -caname root
    
  • 将PKCS12转换为Java密钥库文件

    keytool -importkeystore 
      -deststorepass [new_keystore_pass] -destkeypass [new_key_pass] -destkeystore [keystore.jks] 
      -srckeystore [keystore.p12] -srcstoretype PKCS12 -srcstorepass [pass_used_in_p12_keystore] 
      -alias [alias_used_in_p12_keystore]
    

  • 使用OpenSSL工具将它们导入到PKCS#12密钥库中?这些可以直接生成keytool@WashingtonA.Ramos是的,他们可以,这是您应该首先做的,而不是绕道OpenSSL。请参阅JSSE参考指南。谢谢。然后,我将继续使用使用keytool生成的证书的实现。