https证书验证

申请

目前是在 GoDaddy 申请的

CN=*.test.com

收到文件后会打印一份送行政部法务组,存入保险柜。

文件构成

  • gd_bundle.crt文件 GoDaddy提供的证书链
  • test.com.crt文件 证书
  • test.com.csr文件 证书签发请求(只第一次使用)
  • test.com.key 私钥文件

nginx 上配置 HTTPS 需要两个参数:

  • ssl_certificate 指令需要的文件由 cat test.com.crt gd_bundle.crt >test_chained.crt 生成,一个文件内按顺序含有 test、GoDaddy中间、GoDaddy根 三个证书
  • ssl_certificate_key 指令需要 test.com.key 文件

新证书验证

2013年10月13日我们收到了新的 gd_bundle.crt 和 test.com.crt 两个文件,理论上应该是匹配旧的 test.com.key 的。为了验证这个猜测,使用下列步骤:

  1. 生成一个文本文件infile
  2. 用旧的 test.com.key 文件,执行
openssl rsautl -sign -in infile -inkey test.com.key -out sig

对 infile 进行签名,输出到 sig 文件

  1. 用新的 test.com.crt 文件,执行
openssl rsautl -verify -in sig -certin -inkey test.com.crt

对签名进行验证,如果验证的内容和 infile 原文相同,说明 crt 和 key 是匹配的

证书监控,参考本人另一篇文章

zabbix 监控ssl证书是否过期

 收到报警后,需要密切关注,准备更新证书,更新操作如下:

 1,获取新的证书,找ssl证书相关负责人获取证书,证书主要包括类似这样的文件:278e42c55249ed.crtgd_bundle-g2-g1.crt,分别为:test的证书、godaddy中间证书;

 2,合成证书:cat 278e42c55249ed.crt gd_bundle-g2-g1.crt > test.crt(注意顺序:test证书在前,否则nginx会报不能匹配的错误);

 3,删除godaddy根证书:gd_bundle-g2-g1.crt中间证书中会包含根证书,而一般浏览器中都带了godaddy根证书,所以需要在证书文件中删掉根证书,直接编辑证书文件,删掉最后一个证书块就可以了,为了确保删掉的是根证书可以在godaddy官网上将根证书下载下来确认下https://certs.godaddy.com/repository

4,确认签名算法是不是 SHA-1 的,SHA-2 目前 Windows XP SP3 之前的版本不支持。

# openssl x509 -noout -text -in test.com.crt | grep ‘Signature Algorithm:‘

Signature Algorithm: sha1WithRSAEncryption

Signature Algorithm: sha1WithRSAEncryption

5git上传及线上puppet更新。

时间: 2024-11-05 19:00:23

https证书验证的相关文章

Retrofit+OKHttp忽略https证书验证

记录这个的原因,是因为很多时候,因为后台配置的证书不正确导致APP访问不到服务器数据,导致影响自身的开发进度.没几行代码,逻辑也清晰,所以下面就直接贴出工具类吧: 1 package huolongluo.yeshen.byw.injection.model; 2 3 import java.security.SecureRandom; 4 import java.security.cert.X509Certificate; 5 6 import javax.net.ssl.HostnameVe

网站https证书必要性

前几年浏览器厂商开始要求网站挂载https证书,站长都知道好的证书很贵,有专门机构在做带企业名称这类证书的生意.你细细品味就知道这是整个行业挖的一个大坑,大家其实都在促进一门生意成交.随着这些年互联网发展,证书越来越引起搜索引擎重视,都觉得这是个大趋势,百度在自己的站长平台里放了https证书验证,你的网站如果加载了证书就会给你一些权重加分.市场毕竟就是这个导向,很多小站站长苦恼,选择什么样的证书,安装证书会不会很麻烦,这里给你们推荐一个捷径.你的服务器如果是linux centos系统,推荐使

HTTPS请求 SSL证书验证

import urllib2 url = "https://www.12306.cn/mormhweb/" headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} request = urllib2.Request(ur

Axis 1 https(SSL) client 证书验证错误ValidatorException workaround

Axis 1.x 编写的client在测试https的webservice的时候, 由于client 代码建立SSL连接的时候没有对truststore进行设置,在与https部署的webservice 连接会在运行时报出: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath

关于httpclient 请求https (如何绕过证书验证)

第一种方法,适用于httpclient4.X 里边有get和post两种方法供你发送请求使用.导入证书发送请求的在这里就不说了,网上到处都是 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.n

[转]java 关于httpclient 请求https (如何绕过证书验证)

原文:http://www.blogjava.net/hector/archive/2012/10/23/390073.html 第一种方法,适用于httpclient4.X 里边有get和post两种方法供你发送请求使用. 导入证书发送请求的在这里就不说了,网上到处都是 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamRea

ssl证书验证

当我们在访问https网站时,浏览器就会自动下载该网站的SSL证书,并对证书的安全性进行检查. 其他概念不说了,有效期之类的验证也不说了.只说数字证书的真实性和可信性验证. 1.CA下发给网站的证书是分层的证书链,从根证书开始一层一层直到网站证书.要验证某一层证书是否确实由上级CA发放的需要验证附带在该证书上的由上级CA通过签名函数及私钥生成的数字签名.数字签名的解密需要上级CA的公钥,这个公钥就明文保存在证书链中的上层证书中.而根证书是自己给自己签名,也就是根证书的签名也是靠自己保存的公钥来解

申请https证书需要注意的4大问题

HTTPS证书是什么 https证书是数字证书中的一种,由受信任的数字证书颁发机构CA如[沃通CA]在验证服务器身份后颁发,具有服务器身份验证和数据传输加密 功能,因其要配置在服务器上,所以也称SSL服务器证书或者SSL证书.由合法CA机构颁发的ssl证书遵循ssl协议,通过在客户端浏览器和Web服务 器之间建立一条SSL安全通道,对传送的数据进行加密和隐藏;确保数据在传送中不被篡改和窃取,保障数据的完整性和安全性,ssl安全协议是由网景 (Netscape Communication)公司设计

自制Https证书并在Spring Boot和Nginx中使用(转)

白话Https一文中, 介绍了Https存在的目的和工作原理,但多是偏向于原理性的介绍,本文介绍如何一步一步自制一个能够通过浏览器认证的Https证书,并讲解在Spring Boot环境和Nginx环境中服务器端的配置. 如果你还没有读过白话Https,我强烈建议你先去读一下.按照白话Https中的介绍,Https协议涉及到的主体主要有三个:客户端.服务端.以及CA机构.如下图所示: 在白话Https一文中,曾介绍一个服务要申请使用Https的流程.本文所介绍的流程,针对自制Https证书,更多