1.使用默认证书管理器
private static final HostnameVerifier DO_NOT_VERIFY
= new HostnameVerifier() {
/*返回恒定为true*/
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
public static String sendPost2(String url, String param) throws Exception {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
//可以文件读取也可以写死
String certCate="-----BEGIN CERTIFICATE-----\r\n" +
"MIIDLDCCAhSgAwIBAgIIbEjFwHFw46kwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE\r\n" +
"BhMCQ04xFTATBgNVBAoTDENoaW5hIE1vYmlsZTEeMBwGA1UEAxMVQ0FNRyBJbnRl\r\n" +
"cm5hbCBSb290IENBMCAXDTIxMDMxNTAzMTMwMFoYDzIxMjEwMzE1MDMxMzAwWjBE\r\n" +
"MQswCQYDVQQGEwJDTjEVMBMGA1UEChMMQ2hpbmEgTW9iaWxlMR4wHAYDVQQDExVD\r\n" +
"QU1HIEludGVybmFsIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\r\n" +
"-----END CERTIFICATE-----";
// 证书工厂
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
// 秘钥仓库
KeyStore keyStore =KeyStore.getInstance(KeyStore.getDefaultType());
if(keyStore==null||certificateFactory==null){ throw new Exception("密钥仓库/证书工厂错误");}
keyStore.load(null);
//这是读取证书文件 x.509证书
InputStream stream1=Thread.currentThread().getContextClassLoader().getResourceAsStream("certificate/_.amg.camg.pem");
// String certString=getStringByInputStream_1(stream1);
//FileInputStream caInputStream = new FileInputStream(new File(filePath));
byte []bytes=null;
//这里还是读取声明好得,如果读取文件,就将certString转为Bytes
if(StringUtils.isNotBlank(certCate)){
bytes= certCate.getBytes("utf-8");
}
ByteArrayInputStream streamCertificate=new ByteArrayInputStream(bytes);
// 设置keyStore得证书
keyStore.setCertificateEntry("certificate-pem",certificateFacto