在Java中,当使用curl调用时工作正常,但未发送所需的SSL证书,可能是由于以下原因导致的:
System.setProperty("javax.net.ssl.keyStore", "path/to/keystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "keystore_password");
请将"path/to/keystore.jks"替换为您实际的密钥库路径,将"keystore_password"替换为密钥库的密码。
keytool -importkeystore -srckeystore path/to/pkcs12.p12 -srcstoretype PKCS12 -destkeystore path/to/keystore.jks -deststoretype JKS
请将"path/to/pkcs12.p12"替换为您实际的PKCS12格式证书路径,将"path/to/keystore.jks"替换为目标JKS格式密钥库路径。
keytool -import -trustcacerts -alias intermediate -file path/to/intermediate.crt -keystore path/to/keystore.jks
请将"path/to/intermediate.crt"替换为您实际的中间证书路径。
总结起来,当Java代码在使用curl调用时正常工作,但未发送所需的SSL证书时,您需要检查密钥库路径配置、证书格式、证书信任链和服务器端证书配置等方面的问题。确保正确配置SSL证书和密钥库后,您的Java代码应该能够正常发送所需的SSL证书。
领取专属 10元无门槛券
手把手带您无忧上云