java 将wab网站升级为Https 防拦截植入广告

我是用的TrustAsia域名型DV  HTTPS证书:

https://www.west.cn/web/ssl/manage/index


Clipboard Image.png


购买完成后需要补全资料,填写好要绑定的域名及相关信息  最后选择文件验证。提交审核。

注意:订单密码是下载证书的密码,也是解压PEM格式压缩文件的密码,也是后续配置tomcat时的密码。

审核成功后,需要验证:

Clipboard Image.png

用命令新建一个文件夹放入文本,只要访问域名下面该文件夹的该fileauth.txt文件成功即可。

待审核通过后即可下载证书。

Clipboard Image.png

对于java而言 需要下载jks格式的文件,配置如下:

在tomcat  -- server.xml文件中,找到端口的配置,原先的8080端口改为:

<Connector port="80" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="443" />  

这样访问域名即可自动跳转到443端口通过HTTPS请求。

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"

               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" 

  keystoreFile="D:\cert\SHA256withRSA_XXXXXXXXX.jks" keystorePass="这里填设置的订单密码" />


<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


如果你的服务器没有使用CDN加速,没有Nginx,上述步骤就已经可以正常进行HTTPS请求了,但如果使用了CDN加速,还需要进行以下配置:

先下载PEM格式的证书,然后根据以下步骤进行,https://www.west.cn/faq/list.asp?unid=1853


此处着重强调一下最后一个截图的内容,

Clipboard Image.png

第二个框 证书 处需要按标准填写两个文件的内容,否则将出现兼容性问题。


但如果还出现不安全链接的问题,看看是否页面有类似图片、js之类的进行了Http请求


总之,配置HTTPS只有两个大步骤,1.把jks文件放到服务器上的一个文件夹里面。 2.配置tomcat,keystoreFile属性填写访问jks文件的路径,keystorePass属性填写访问密码,也就是订单密码。


至此,HTTPS配置成功。




发布了15 篇原创文章 · 获赞 6 · 访问量 1万+
展开阅读全文

Java 访问 Https接口 忽略证书

09-05

``` /** * 证书信任管理器(用于https请求) * @date 2013-08-08 */ public class MyX509TrustManager implements X509TrustManager{ public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { } public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return null; } public static JSONObject 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(); jsonObject = JSONObject.parseObject(buffer.toString()); } catch (ConnectException ce) { ce.printStackTrace(); // log.error("Weixin server connection timed out."); } catch (Exception e) { //log.error("https request error:{}", e); e.printStackTrace(); } return jsonObject; } public static void main(String[] args) { System.err.println(httpRequest("https://moni.byxgj.com:23134", "GET", null)); ///createaccount?requestid=1&sa=sa07&sapass=c33&account=0&password=123456&name=张三&group=交易组1&mainaccount=21 } } ``` ``` javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching moni.byxgj.com found at sun.security.ssl.Alerts.getSSLException(Unknown Source) at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) at sun.security.ssl.Handshaker.fatalSE(Unknown Source) at sun.security.ssl.Handshaker.fatalSE(Unknown Source) at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source) at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) at sun.security.ssl.Handshaker.processLoop(Unknown Source) at sun.security.ssl.Handshaker.process_record(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) at com.wlq.test.MyX509TrustManager.httpRequest(MyX509TrustManager.java:57) at com.wlq.test.MyX509TrustManager.main(MyX509TrustManager.java:94) ``` 请问这个错怎么整?网上的方法全部测试过来了 ``` httpClient方法 报 javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated ``` ps:如果有直接可用demo,求分享 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览