根证书

openssl生成SSL证书的流程

喜欢而已 提交于 2019-12-11 19:41:02
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socketlayer(SSL),SSL安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。 SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://www.baidu.com”。 什么是x509证书链 x509证书一般会用到三类文件,key,csr,crt。 Key是私用密钥,openssl格式,通常是rsa算法。 csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。 crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。 概念 首先要有一个CA根证书,然后用CA根证书来签发用户证书。 用户进行证书申请

添加CA根证书到操作系统获得信任

孤者浪人 提交于 2019-12-06 01:45:02
现在很多网站和服务都使用了HTTPS进行链路加密、防止信息在传输中间节点被窃听和篡改。HTTPS的启用都需要一个CA证书,以保证加密过程是可信的。 我们可以申请和获得一个CA机构颁发的证书,在软件调试过程中或者机构内部网可以创建自签名的CA证书,在【 配置Harbor私有Docker镜像服务使用HTTPS 】有关于自签名CA证书制作和使用的描述。 所谓“自签名”就是把自己当成一个CA证书颁发机构,只不过未得到公共证书机构的认可。这样的CA证书在部分操作系统下,可以直接配置在应用系统里使用,在浏览器里往往会进行提示,如果加入“例外”白名单中,就可以继续使用。 但在有的操作系统和一些版本中,需要将根证书配置为系统级的证书,才允许继续使用,系统就像个看大门的,需得首先过了这一关才行。尤其是因为出现证书机构颁发虚假证书问题,最近很多操作系统都加强了安全措施,对证书都加强了验证,必须进行ca证书配置才能继续访问了。 Mac OS X 添加证书: sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/new-root-certificate.crt 移除证书: sudo security delete-certificate -c "<name of existing

https实现原理

爱⌒轻易说出口 提交于 2019-12-05 12:12:31
https详解 目前大部分大型网站已经全部切换到了 https 服务,所以很有必要了解整个 https 的原理, https 是如何保证信息安全的。这里希望大家对以下部分名词有一定的了解: 数字证书 是互联网通信中的身份标识(主要是用户身份信息和公钥),一般由CA中心颁发,既CA认证中心,或第三方权威机构。数字证书上通常包括:CA的签名,证书所有人的公钥,CA中心的签名算法,指纹以及指纹算法,证书的唯一编号,版本,有效期等。 数字签名、签名算法 对信息的摘要【通过 hash算法 / 摘要算法 / 指纹算法 计算的信息 摘要 / hash值 】使用签名算法进行加密,得到的密文就叫做数字签名 指纹、指纹算法/摘要算法【hash值计算】 对消息使用 hash算法/摘要算法 进行单向处理,获取一个固定长度的信息的 摘要/hash值 。 非对称加密 可以使用公钥、私钥分解进行对应的加密、解密的算法,即加解密使用的是不同的一堆秘钥。 对称加密 使用相同秘钥进行加解密的算法 公钥、私钥 非对称加解密的一对秘钥。 https服务部署过程和原理 了解 https 的原理,最好的方法就是走一遍流程,理论上的流程和原理通过以下几点来解释: 证书申请 证书信任 密文通信 证书的获取 https 的关键之一就是 ssl 证书,为了保证证书的安全有效性,在各类委员会/厂商之间合作

网站证书安装教程

China☆狼群 提交于 2019-12-04 13:42:03
上一篇讲了如何生成证书,本篇介绍下如何安装证书 证书文件 ca.crt 为根证书 server.pfx 为服务端证书 两个证书都需要安装 ca.crt 安装 选择文件右键或双击打开, 点击安装证书,选择本地计算机 选择将所有的证书都放入下列存储,点击浏览,选择受信任的根证书颁发机构 点击确定,完成根证书安装 server.pfx 选择文件右键或双击打开,选择本地计算机 点击下一步 点击下一步,这里输入小写密码: xxxx 同上操作,选择个人即可 点击确定完成安装 附:本地测试地址谷歌浏览器: IE 浏览器: EDGE: 来源: https://www.cnblogs.com/esxbk/p/11868692.html

Chrome:不受信任的证书----openssl签发带Subject Alternative Name的证书

一笑奈何 提交于 2019-12-03 13:37:22
Chrome下自签名证书提示无效的问题 发现chrome验证证书很严格,必须带有Subject Alternative Name. 签发csr时,修改openssl.cnf (windows 所在目录 :\OpenSSL\bin\cnf\openssl.cnf ) 在 [ req ]节添加 req_extetions = v3_req 生成 CSR 文件时读取名叫 v3_req 的节的配置, [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names 在 alt_names 添加域名 DNS.1 = localhost DNS.2 = your.doman.com 生成csr openssl req -sha256 -newkey rsa:2048 -nodes -keyout ssl.key -x509 -days 3650 -out ssl.crt -config ./cnf/openssl.cnf -extensions v3_req 填写完信息后,即可生成 对应的 key 和 srt 文件;

HTTPS部署

北城余情 提交于 2019-12-03 01:45:09
前言 考虑到HTTP的安全性问题,现在很多网站已经将HTTP升级到了HTTP + SSL(HTTPS)。 但也并不是所有的HTTPS站点就是安全的,也可能存在中间人的攻击(不是权威的CA机构颁发的证书以及证书校验不严格)。下图就是关于“中间人攻击”的原理图。 不过权威CA机构颁发证书大多数是收费的,想用免费的可以考虑 Let's Encrypt。 什么才是权威呢? 就是CA机构向浏览器厂商申请,申请通过后,由浏览器厂商将CA机构的根证书(简称CA证书)内嵌在浏览器中。也就是那些为企业签发证书的CA证书都是受浏览器信任的。 而证书一般有三种,根证书、服务器证书、客户端证书。 根证书是生成服务器证书和客户端证书的基础,也就是CA证书。 服务器证书是放在服务器上的,并引入到站点的配置文件中,由CA证书签名。相当于有一封信件(服务器证书),由CA盖章(签名),表示此信件受CA信任。 客户端证书是对于个人的,这里不做演示。 这样就可以防御中间人攻击了,当客户端发起HTTPS请求时,服务器将服务器证书传给客户端,客户端用内嵌的CA证书和获取到的服务器证书做信息比较,如果发现是伪造的证书,客户端发出警告。 接下来就模拟下整个证书生成的环节,可以有一个清楚的认识。因为是本地环境,就自建CA根证书了(Let's Encrypt 有域名验证之类的步骤)。 根证书(CA证书) openssl

openssl生成CA证书

六眼飞鱼酱① 提交于 2019-11-29 20:03:36
什么是x509证书链 x509证书一般会用到三类文件,key,csr,crt。 key 是私用密钥,openssl格式,通常是rsa算法。 csr 是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。 crt 是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。 概念 证书类别 根证书 生成服务器证书,客户端证书的基础。自签名。 服务器证书 由根证书签发。配置在服务器上。 客户端证书 由根证书签发。配置在服务器上,并发送给客户,让客户安装在浏览器里。 要注意 服务器证书的cn要和servername一致,否则启动httpd时有警告。 浏览器安装客户端证书时,需要用pkcs12转换成pfx格式,否则可以安装但无效。 把根证书安装到浏览器的受信CA中,访问服务器时就不会出警告了。 首先要有一个CA根证书,然后用CA根证书来签发用户证书。用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。 openssl中有如下后缀名的文件 .key格式:私有的密钥 .csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request的缩写 .crt格式:证书文件

linux系统添加根证书 linux证书信任列表

[亡魂溺海] 提交于 2019-11-29 20:00:14
1.linux 访问 https 证书问题 [root@boss-test-dev001-jydx ~]# curl -v https://mobile.mycard520.com.tw * About to connect() to mobile.mycard520.com.tw port 443 (#0) * Trying 220.130.127.122... connected * Connected to mobile.mycard520.com.tw (220.130.127.122) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * Certificate is signed by an untrusted issuer: 'CN=TWCA Secure SSL Certification Authority,OU=Secure SSL Sub-CA,O=TAIWAN-CA,C=TW' * NSS error -8172 * Closing connection #0 * Peer certificate cannot be authenticated with known

用OpenSSL生成CA根证书来签名Keytool生成的证书请求

不羁岁月 提交于 2019-11-29 19:59:24
我上一篇文章 ( 配置JAVA SSL/TLS 之websocket wss交互式认证 )生成的证书都是java keytool 的证书,都是自签名的证书, 不是第三方签名的证书。下面我要虚拟一个CA出来, 用CA来签名。 1、创建CA的私钥 openssl genrsa -out ca.key 2048 2、创建CA自签名证书 openssl req -x509 -new -nodes -key ca.key -subj "/CN=localhost" -days 36500 -out ca.crt 3、生成服务端私钥 keytool -genkey -v -alias server_ks -keysize 2048 -keyalg RSA -dname "CN=localhost" -keypass 123456 -storepass 123456 -keystore ./server.keystore -storetype jks -validity 36500 4、生成证书请求文件 keytool -certreq -alias server_ks -keyalg RSA -file ./server.csr -keystore ./server.keystore -keypass 123456 -storepass 123456 5