我对证书非常不熟悉,特别是在XAMPP和Java中使用它们。我设法采用公开签名的通配符PEM文件(* .companyname.eu)并将其加载到XAMPP中。我使用通配符作为CRT,使用本地生成的私钥作为.key文件。
现在,我需要将这些证书加载到Java中。我在网上找到的是使用以下方法将CRT和KEY文件转换为P12格式openssl
:
openssl pkcs12 -export -in server.crt -inkey server.key -out serverp12.p12
这导致“无法加载证书”,即使我已确保这些文件位于应用程序的openssl/bin
文件夹中openssl
。我能够使用-nokeys
参数获取PFX ,仅在不添加私钥的情况下从GlobalSign转换公共证书。
最后,我想将这些证书导入Java,当我尝试使用其他格式的Keytool时,我也有类似的结果。我尝试导入到只有之前的PFX文件的新密钥库。
C:\Program Files\Java\jre1.8.0_191\bin>keytool -importkeystore -srckeystore serverp12.pfx -srcstoretype pfx -destkeystore serverp12.jks -deststoretype jks
Importing keystore serverp12.pfx to serverp12.jks...
Enter destination keystore password:
Re-enter new password:
keytool error: java.security.KeyStoreException: PFX not found
第一个问题:我是否需要Java中的私钥才能使我的服务器公开使用SSL?一张“合法”的通配证书是否足够好?2d问题:任何人都可以向我指出一个好的(虚拟)解释,说明哪个应用程序需要哪些密钥?我在过去一周内将我的PEM文件转换为45种不同的文件名和格式。对我来说这一切都很模糊,我很好奇是否有其他人通过一些好的建议开拓了他们的方式。