导航:首页 > 证书转让 > httpsjava证书

httpsjava证书

发布时间:2021-03-21 19:12:46

1. 如何把Https网站中的安全证书导入到java中的cacerts证书库

在项目开发中,有时会遇到SSL证书导入,把SSL证书导入java中的cacerts证书库其实很简单,方法如下:

第一步:找到安装了SSL证书的网站,点击HTTPS加密协议下载SSL证书

在该网页上右键 >> 属性 >> 点击"证书" >>

再点击上面的"详细信息"切换栏 >>

再点击右下角那个"复制到文件"的按钮

就会弹出一个证书导出的向导对话框,按提示一步一步完成就行了。

例如:保存为abc.cer,放在C盘下


第二步:把上面(abc.cer)这个证书导入java中的cacerts证书库,方法如下:

假设你的jdk安装在C:jdk1.5这个目录,

开始 >> 运行 >> 输入cmd 进入dos命令行 >>

再用cd进入到C:jdk1.5jrelibsecurity这个目录下

敲入如下命令回车执行

keytool -import -alias cacerts

-keystore C:jdk1.5jrelibsecuritycacerts

-file C:abc.cer

-trustcacerts

此时命令行会提示你输入cacerts证书库的密码,

输入changeit就行了,这是java中cacerts证书库的默认密码,自已也可以修改的。

更多相关HTTPS证书,SSL证书问题建议你去沃通SSL证书论坛找找资料。

2. 做javaweb项目时要把http改为https,有的说直接用keystore生成证书,有的说要买CA证书,到底哪个是正确的

你这个项目 要是自己电脑上测试就不需要,但是你要是想在放在服务器上并且用浏览器访问那就必须购买证书,然后安装配置证书

3. https证书快过期 java报错么

在java代码中请求https链接的时候,可能会报下面这个错误
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
原因是没有证书。在浏览器中直接使用url访问是可以的,应该是浏览器之前就保存过对应的.cer证书。
解决方法有两种,从目标机器获得有效证书或者忽略证书信任问题。
一、获得目标机器有效证书
1、编译安装证书程序 javac InstallCert.java
2、运行安装证书程序生成证书
java InstallCert my.hoolai.com
例如:java InstalCert smtp.zhangsan.com:465 admin
如果不加参数password和host的端口号,上面的获取证书程序中默认给的端口号是:443,密码是:changeit

3、根据运行提示信息,输入1,回车,在当前目录下生成名为: jssecacerts 的证书
将证书放置到$JAVA_HOME/jre/lib/security目录下, 切记该JDK的jre是工程所用的环境!!!
或者:
System.setProperty("javax.net.ssl.trustStore", "你的jssecacerts证书路径");
可以更改密码,在security目录下运行命令
keytool -storepasswd -new xxxcom -keystore cacerts
就可以修改密码,修改后使用命令
keytool -list -v -keystore cacerts
查看文件的信息,会提示需要密码才能查看,如果输入密码与修改后的密码匹配,说明修改成功了。
PS:至此这种方式可以成功使用ssl了,另外再补充一下,根据刚才生成的文件jssecacerts,可以生成cer文件,
命令如下
keytool -export -alias xxx.com-1 -keystore jssecacerts -rfc -file xxx.cer
如上,之前的工具类中默认命名别名是加上"-1"。使用InstallCert设置的密码需要跟cacerts文件中的密码一致,
如果修改过密码,就需要修改InstallCert类中对应的密码字符串,否则会有下面这个异常:
java.security.UnrecoverableKeyException: Password verification failed
二、忽略证书信任问题
源码:http://mengyang.iteye.com/blog/575671
一定要注意需要在connection创建之前调用文章里所述的方法,像这个样子:
trustAllHttpsCertificates();
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
return true;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(hv);
connection = (HttpURLConnection) url.openConnection();
好吧,两种方法都试过有效。

4. 如何配置Java HTTPS CA证书

Java一般使用的环境Tomcat SSL加密证书获取:网页链接

Tomcat安装SSL证书:专网页链接

Tomcat自动跳转到HTTPS:网页链接

注意:安装防火墙需要设属置允许443端口或关闭防火墙,如果本地服务器安装安全狗的,请允许443端口。

5. java https 证书 java 实现https请求

JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问。但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从而不能访问HTTPS站点。建议到权威CA机构去申请一受信任的免费https证书来使用,比如wosign免费多域名https证书等。

6. 用java做一个httpClient 发送https 的get请求,需要证书验证的那种,求大神指点一下!

你那个 SSLSocketFactory(ks) 是自己的类?

你有用过 KeyManager.init (...)? 和 TrustManager.init(...) ?

想要在连接建立过程上交互式的弹出确认对话框来的话需要我们自己提供一个 KeyManager 和 TrustManager 的实现类,这有点复杂,你可以看一个 Sun 的 X509KeyManager 是怎么做的,默认地情况下它是从自动搜索匹配的 subject ,我们需要用自己提供的方式弹出确认的过程还不是全自动,另外一个账户可能有多个数字证书,比如支付宝我们就有多个签发时间不一样的数字证书,在连接建立时 IE 会提示我们选择其中的一个来使用,银行的 U 盾在安装多张数字证书时也会提示我们选择其中一个对应到你正在使用的银行卡号的那张证书。

7. java 建立双向认证 https连接

绝对好用的。直用的这个,GOOD LUCK FOR YOU

public static String httpRequest(String requestUrl, String requestMethod, String outputStr) {
JSONObject jsonObject = null;
StringBuffer buffer = new StringBuffer();
try {
// 创建SSLContext对象,并使用我们指定的信任管理器初始化
TrustManager[] tm = { new MyX509TrustManager() };
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
// 从上述SSLContext对象中得到SSLSocketFactory对象
SSLSocketFactory ssf = sslContext.getSocketFactory();

URL url = new URL(requestUrl);
HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();
httpUrlConn.setSSLSocketFactory(ssf);

httpUrlConn.setDoOutput(true);
httpUrlConn.setDoInput(true);
httpUrlConn.setUseCaches(false);
// 设置请求方式(GET/POST)
httpUrlConn.setRequestMethod(requestMethod);

if ("GET".equalsIgnoreCase(requestMethod))
httpUrlConn.connect();

// 当有数据需要提交时
if (null != outputStr) {
OutputStream outputStream = httpUrlConn.getOutputStream();
// 注意编码格式,防止中文乱码
outputStream.write(outputStr.getBytes("UTF-8"));
outputStream.close();
}

// 将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
httpUrlConn.disconnect();
System.out.println("返回的数据:"+buffer.toString());
// jsonObject = JSONObject.fromObject(buffer.toString());
} catch (ConnectException ce) {
log.error("Weixin server connection timed out.");
} catch (Exception e) {
log.error("https request error:{}", e);
}
return buffer.toString();
}

8. java https怎么添加受信任的ssl证书

一、获取Tomcat SSL证书:网页链接

二、Tomcat 安装SSL证书:网页链接

三、tomcat 自动跳转到HTTPS:网页链接

注意:安装防火墙需要设置允许443端口或关闭防火墙,如果本地服务器安装安全狗的,请允许443端口。

9. java下载https的url,需要带证书

需要https证书的话可以去沃通CA申请一个免费的https证书

10. 跪求大神讲解一下java模拟https请求时如何使用p12证书!!!

你有用过 KeyManager.init (...)? 和抄 TrustManager.init(...) ?

想要在连接建立过程上交互式的弹出确认对话框来的话需要我们自己提供一个 KeyManager 和 TrustManager 的实现类,这有点复杂,你可以看一个 Sun 的 X509KeyManager 是怎么做的,默认地情况下它是从自动搜索匹配的 subject ,我们需要用自己提供的方式弹出确认的过程还不是全自动,另外一个账户可能有多个数字证书,比如支付宝我们就有多个签发时间不一样的数字证书,在连接建立时 IE 会提示我们选择其中的一个来使用,银行的 U 盾在安装多张数字证书时也会提示我们选择其中一个对应到你正在使用的银行卡号的那张证书。

阅读全文

与httpsjava证书相关的资料

热点内容
侵权责任法第87条的规定 浏览:553
招商地块南侧公共服务项目批前公示 浏览:208
盘锦公交投诉电话 浏览:607
马鞍山到宿迁汽车时间 浏览:215
公共卫生服务的工作目标 浏览:813
知识产权服务制度 浏览:726
警察管诈骗叫民事纠纷 浏览:650
马鞍山胡骏 浏览:110
推动基层公共服务一门式全覆盖试点工作调研 浏览:680
山东省基本公共卫生服务项目实施方案 浏览:349
投诉制凝 浏览:932
黑警投诉 浏览:95
国培预期研修成果 浏览:151
知识产权专利培训心得 浏览:974
工商登记需要提供什么资料 浏览:683
大连使用权房子办产权需要花多少钱 浏览:630
长春工商局投诉电话 浏览:519
湖北省基本公共卫生服务规范 浏览:393
国家歌曲版权限制 浏览:860
开题预期成果怎么写 浏览:223