精华内容
下载资源
问答
  • CA证书

    万次阅读 2018-01-30 19:02:59
    1. CA证书理解?CA证书的作用?CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书。要对CA证书完全理解及其作用,首先要理解SSL。SSL(security sockets layer,安全套接层)是为网络通信提供...

    1. CA证书理解?CA证书的作用?

    CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书。要对CA证书完全理解及其作用,首先要理解SSL。SSL(security sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议。SSL3.0版本以后又被称为TLS。SSL位于TCP与各应用层之间,是操作系统向外提供的API。SSL如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。首先身份认证就需要用到CA证书了。先了解CA证书具体包括哪些内容:

    颁发者
    使用者
    版本
    签名算法
    签名哈希算法
    使用者
    公钥
    指纹
    指纹算法
    ……
    上述中颁发者、使用者、版本等内容好理解,颁发者就是CA机构,下面会讲到。对于签名算法、签名哈希算法的理解,首先要先理解签名是什么东东?联系到实际情况,当我们向某机构提供报告时,往往在报告最后加上个人的名字,以表示该报告是我本人的。签名在网络通讯中的应用称为数字签名,当服务器向客户端发送信息时,会将报文生成报文摘要,同时对报文摘要进行hash计算,得到hash值,然后对hash值进行加密,然后将加密的hash值放置在报文后面,这个加密后的hash值就称为签名。服务器将报文、签名和数字证书一同发送给客户端。客户端收到这些信息后,会首先验证签名,利用签名算法对签名进行解密,得到报文摘要的hash值,然后将得到的报文生成报文摘要并利用签名hash算法生成新的hash值,通过对比这两个hash值是否一致,就能判断信息是否完整,是否是由真正的服务器发送的。可知签名有两个作用确认消息发送方可靠,确认消息完整准确。

    上面提到了hash值的加密,我们还需要理解SSL的加密机制,在使用SSL的网络通讯过程中,消息在请求和响应中都是加密传送的。首先要知道加密算法分为两种:对称加密和非对称加密。对称加密就是发送双发使用相同的密钥对消息进行加解密,常见的对称加密为DES、3DES,AES等。非对称加密是发送双方各自拥有一对公钥私钥,其中公钥是公开的,私钥是保密的。当发送方向接收方发送消息时,发送方利用接收方的公钥对消息进行加密,接收方收到消息后,利用自己的私钥解密就能得到消息的明文。其中非对称加密方法有RSA、Elgamal、ECC等。此处只是简单了说明了这两种加密机制的过程,若要深入理解它们的原理、过程请搜索相应的资料,很容易搜索到。

    好了,了解了签名原理和两种加密机制,我们继续理解网络通讯中是怎么利用CA证书进行身份认证的?客户端与服务端需要经过一个握手的过程才能完成身份认证,建立一个安全的连接。握手的过程如下:

    1. 客户端访问服务器(比如:https://www.12306.cn),发送ssl版本、客户端支持的加密算法、随机数等消息。
    2. 服务器向客户端发送ssl版本、随机数、加密算法、证书(证书出现了)等消息。
    3. 客户端收到消息后,判断证书是否可信(如何判断可信,看下文介绍),若可信,则继续通信,发送消息包括:向服务器发送一个随机数,从证书中获取服务器端的公钥,对随机数加密;编码改变通知,表示随后信息都将使用双方协定的加密方法和密钥发送;客户端握手结束通知。
    4. 服务器端对数据解密得到随机数,发送消息:编码改变通知,表示随后信息都将使用双方协定的加密方法和密钥发送。

    以上就是整个握手的过程,在第三步实际上就完成了身份的认证,第四、五步是进行密钥的商定,因为非对称加密算法对数据加密非常慢,效率低,而对称加密加密效率很高,因此在整个握手过程要生成一个对称加密密钥,然后数据传输中使用对称加密算法对数据加密。可知ssl整个握手过程包括身份认证、密钥商定。上述讲述ssl的握手过程比较简单,想要深入理解ssl原理,下面这篇博文讲的不错:
    https://segmentfault.com/a/1190000002554673
    一定要看上面的博文,否则无法彻底理解证书使用的原理。

    2.客户端是如何验证CA证书是可信任的?

    一般来说,现在公共网站数据传输都是使用SSL,即通过https协议访问。Https就是http加SSL。在上面SSL握手过程中,客户端是如何验证服务器发送的CA证书呢?我们以12306网站为例进行说明,此时,客户端就是浏览器,如果我们是第一次访问12306网站,使用https://www.12306.cn地址访问,返回如下结果:
    这里写图片描述

    提示此网站的安全证书有问题,说明证书不可信,如果我们忽略证书不可信,继续访问网站,打开12306网页,在首页提供一个根证书的下载,见下页面:

    这里写图片描述

    下载根证书,安装完毕,再次访问12036网站,就不会提示网站的安全证书有问题了。这是什么机制呢?

    打开【工具】菜单(360浏览器为例),然后选择【内容】选项卡,点击【证书】按钮,打开证书窗口,选择【中级证书颁发机构】,会看到已经安装的12306的证书:

    这里写图片描述

    只要安装上12306证书,就说明证书是可信的。使用https协议访问时,服务器发送证书向浏览器时,首先查找该证书是否已在信任列表中,然后对证书进行校验,校验成功,那么就证明证书是可信的。另外,证书的认证是安装证书链执行的,证书链的意思是有一个证书机构A,A生成证书B,B也可以生成证书C,比如在证书窗口中有一个360证书,见下图:

    这里写图片描述

    360证书的颁发者是certification authority of wosign,在【受信任的根证书颁发机构】中,我们会看到该证书:见下图,

    这里写图片描述

    也就是说,certification authority of wosign生成360证书,360可以生成其它的证书。A证书或者certification authority of wosign证书在整个证书链上就被称为根证书,证书验证的机制是只要根证书是受信任的,那么它的子证书都是可信的。比如说,我们使用https协议访问了需要360证书的网站,即使我们不安装360证书,那么网站也不会提示证书不安全,因为,生成360证书的根证书certification authority of wosign证书,在受信任的证书列表中。如果一个证书的根证书是不可信的,那么这个证书肯定也是不可信任的。

    由以上可知,根证书在证书验证中极其重要,而且,根证书是无条件信任的,只要我们将根证书安装上,就说明我们对根证书是信任的。比如我们安装12306的根证书,是出于我们对国家的信任,对网站的信任,我们才放心安装这个根证书。对于一些不安全的网站的证书,一定要慎重安装。

    另外需要知道的是,【受信任的根证书颁发机构】中的证书是windows预先安装的一些证书,都是国际上很有权威的证书机构,他们证书的生成都有很严格的流程,因此他们的证书被认为是安全,就像我们相信银行是安全,所以把钱存入到银行。

    3.有哪些CA机构?

    世界上较早的数字认证中心是美国的verisign公司,在windows的证书窗口中可以看到好多verisign公司生成的证书,见下图:

    这里写图片描述

    另外还有加拿大的ENTRUST公司,也是很著名的证书机构。中国的安全认证体系分为金融CA和非金融CA。在金融CA方面,根证书由中国人民银行管理,在非金融CA方面,由中国电信负责。中国CA又可分为行业性CA和区域性CA,行业性CA中影响最大是中国金融认证中心和中国电信认证中国;区域性CA主要是以政府为背景,以企业机制运行,其中广东CA中心和上海CA中影响最大。

    4.自签名证书的如何生成、安装?

    有时候,我们在内部系统传输数据需要使用SSL协议,对数据加密,但是我们又不想花钱去申请CA,这个时候可以使用自签名CA,实现数据加密传输的功能。首先要明确一点就是自签名证书是不安全的,存在安全漏洞,具体看下面的博文介绍:

    为什么”自签名SSL证书”不安全?
    https://www.wosign.com/FAQ/selfsigned_SSL_insecure.htm

    自签名证书使用jdk中的keytool生成即可,看似神秘,但实际上比较简单,见下博文:

    如何利用keytool工具生成数字证书
    https://jingyan.baidu.com/article/b0b63dbfe18eff4a483070f4.html

    自签名证书的安装也很简单,见下博文:

    添加自签发的 SSL 证书为受信任的根证书
    https://cnzhx.net/blog/self-signed-certificate-as-trusted-root-ca-in-windows/

    在java编程中,使用socket网络编程,实现SSL协议,对服务器的证书需要导入到客户端的秘钥库中,这样才能完成自动认证,具体实现见下博文:

    JAVA SSL SOCKET通信服务器端客户端证书双向认证
    http://blog.csdn.net/matt8/article/details/45071815

    展开全文
  • CA 证书

    2017-12-26 10:36:11
    CA 证书是经由 CA 机构进行数字签名过的,包含公钥、公钥拥有者(即申请者)信息、签发者信息、有效期等信息的文件。在 Mac 电脑上的 钥匙串访问 中可以看到电脑中的证书信息,证书部分内容如下图所示。 查看原文 ...

    查看原文

    证书内容

    CA 证书是经由 CA 机构进行数字签名过的,包含公钥、公钥拥有者(即申请者)信息、签发者信息、有效期等信息的文件。在 Mac 电脑上的 钥匙串访问 中可以看到电脑中的证书信息,证书部分内容如下图所示。

    查看原文

    从图中我们可以看到,证书中包含了很多的信息,目前数字证书的格式遵循 X.509 标准

    验证证书

    在 HTTPS 通信中,服务器将非对称加密的公钥放置在证书中,然后将证书发送给客户端,客户端收到证书后验证证书,如果验证通过就可以确认公钥来自于服务器。那么,客户端如何验证证书呢?证书又是如何防伪的呢?

    证书的验证和防伪需要用到证书中提供了两个信息:签发者使用的签名算法、指纹(签名),其中签名算法是证书签发机构对证书进行签名时所采用的算法。当客户端收到服务器发送过来的证书后,先对证书中的内容(证书内容是明文)进行检查,例如:证书是否在过期、公钥所有者 url 与当前服务器域名是否对应等。接着,为了防止其他人仿造证书(例如:将证书中的公钥和 url 替换成自己的),还需要验证证书的指纹。通过证书中提供的签名算法,生成证书内容的信息摘要,根据摘要算法的特性,如果证书内容被修改了,那么生成的摘要信息肯定就不一样。但是,如果其他人在替换证书内容后,根据新的内容重新生成信息摘要该怎么办呢?

    因此,不能只是将证书内容的信息摘要作为指纹,而是使用 CA 机构的私钥对信息摘要进行加密,将加密后的内容作为指纹。客户端在验证时,使用 CA 机构提供的公钥解密指纹,然后将解密后的信息摘要与自己根据证书内容生成的信息摘要进行对比,如果两者相同,则说明证书没有被篡改。这样的话,如果其他人修改了证书内容并重新生成了信息摘要,由于没有 CA 机构的私钥,根本无法生成可以被 CA 机构的公钥解密出来的指纹,就能有效地防止证书被篡改。那么问题来了,如何确保 CA 的公钥是真实可信的呢?显然通过网络传输是无法确保的。事实上,在操作系统(或浏览器)中已经内置了世界上公认可信的 CA 证书,该证书中包含了公钥。这样的机构不会很多,所以完全可以做到内置。

    信任链

    所谓信任链就是说:A 信任 B,而 B 信任 C,所以 A 也信任 C。事实上,系统中并没有内置世界上所有 CA 机构的证书,只是内置了顶级 CA 机构的证书,而其他机构则通过信任链的方式进行证书的颁发。假设 A 是顶级 CA,系统中内置该机构的证书。B 是 A 的子机构,A 给 B 颁发了 CA 证书,B 给 C 颁发了 CA 证书,客户端验证 C 的证书的过程如下:

    1. 按照上文提到了证书验证方式,检查 C 的证书。
    2. 由于 C 的证书是由 B 颁发的,因此需要先获取 B 的证书,然后使用 B 的证书中的公钥解密指纹并对比信息摘要。
    3. 为了保证 B 的公钥真实可靠,需要验证 B 的证书,而 B 的证书是由 A 颁发的,所以使用 A 的公钥解密指纹并对比信息摘要。
    4. A 的公钥内置在系统中,认为是真实有效地。

    通过这种信任链的机制,就能完成对证书的认证。可见,这里的关键之处在于顶级 CA 证书,这类证书通常系统内置,世界公认可信。所以,不要自己手贱乱添加证书啊~~~

    展开全文
  • ca证书

    千次阅读 2014-06-17 21:51:09
    ca证书 编辑 CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份...

    ca证书
    编辑
    CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。

    1证书编辑

    CA 也拥有一个证书(内含公钥私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。
    CA证书签发过程图

    CA证书签发过程图

    如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
    如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。
    证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。

    2加密编辑

    我们将文字转换成不能直接阅读的形式(即密文)的过程称为加密。即把我们平时看到的“http”加密成“https”来传输,这样保证了信息在传输的过程中不被窃听。目前国内可以完成这个工作的CA是GlobalSign

    3解密编辑

    我们将密文转换成能够直接阅读的文字(即明文)的过程称为解密。
    如何在电子文档上实现签名的目的呢?我们可以使用数字签名。RSA公钥体制可实现对数字信息的数字签名

    方法如下

    信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在传递过程中未被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥数字签名进行验证。
    数字签名中有重要作用的数字指纹是通过一类特殊的散列函数(HASH函数) 生成的。

    流程

    1.接受的输入报文数据没有长度限制;
    2.对任何输入报文数据生成固定长度的摘要(数字指纹)输出;
    3.从报文能方便地算出摘要;
    4.难以对指定的摘要生成一个报文,而由该报文可以算出该指定的摘要;
    5.难以生成两个不同的报文具有相同的摘要。
    验证:
    收方在收到信息后用如下的步骤验证您的签名:
    1.使用自己的私钥将信息转为明文;
    2.使用发信方的公钥数字签名部分得到原摘要;
    3.收方对您所发送的源信息进行hash运算,也产生一个摘要;
    4.收方比较两个摘要,如果两者相同,则可以证明信息签名者的身份。
    如果两摘要内容不符,会说明什么原因呢?
    可能对摘要进行签名所用的私钥不是签名者的私钥,这就表明信息的签名者不可信;也可能收到的信息根本就不是签名者发送的信息,信息在传输过程中已经遭到破坏或篡改。

    4数字证书编辑

    数字证书为实现双方安全通信提供了电子认证。在因特网、公司内部网或外部网中,使用数字证书实现身份识别和电子信息加密。数字证书中含有密钥对(公钥私钥所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证。

    5数字证书原理编辑

    数字证书在用户公钥后附加了用户信息及CA的签名。公钥是密钥对的一部分,另一部分是私钥公钥公之于众,谁都可以使用。私钥只有自己知道。由公钥加密的信息只能由与之相对应的私钥解密。为确保只有某个人才能阅读自己的信件,发送者要用收件人的公钥加密信件;收件人便可用自己的私钥解密信件。同样,为证实发件人的身份,发送者要用自己的私钥对信件进行签名;收件人可使用发送者的公钥对签名进行验证,以确认发送者的身份。
    在线交易中您可使用数字证书验证对方身份。用数字证书加密信息,可以确保只有接收者才能解密、阅读原文,信息在传递过程中的保密性和完整性。有了数字证书网上安全才得以实现,电子邮件、在线交易和信用卡购物的安全才能得到保证。

    6证书作用编辑

    保密性 - 只有收件人才能阅读信息。
    认证性 - 确认信息发送者的身份。
    完整性 - 信息在传递过程中不会被篡改。
    不可抵赖性 - 发送者不能否认已发送的信息。
    保证请求者与服务者的数据交换的安全性
    展开全文
  • CA证书理解?CA证书的作用?

    千次阅读 2018-11-29 10:53:00
    CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书。要对CA证书完全理解及其作用,首先要理解SSL。SSL(security sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议...

     

    CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书。要对CA证书完全理解及其作用,首先要理解SSL。SSL(security sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议。SSL3.0版本以后又被称为TLS。SSL位于TCP与各应用层之间,是操作系统向外提供的API。SSL如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段:身份认证和数据加密。首先身份认证就需要用到CA证书了。先了解CA证书具体包括哪些内容:

    颁发者
    使用者
    版本
    签名算法
    签名哈希算法
    使用者
    公钥
    指纹
    指纹算法
    ……
    上述中颁发者、使用者、版本等内容好理解,颁发者就是CA机构,下面会讲到。对于签名算法、签名哈希算法的理解,首先要先理解签名是什么东东?联系到实际情况,当我们向某机构提供报告时,往往在报告最后加上个人的名字,以表示该报告是我本人的。签名在网络通讯中的应用称为数字签名,当服务器向客户端发送信息时,会将报文生成报文摘要,同时对报文摘要进行hash计算,得到hash值,然后对hash值进行加密,然后将加密的hash值放置在报文后面,这个加密后的hash值就称为签名。服务器将报文、签名和数字证书一同发送给客户端。客户端收到这些信息后,会首先验证签名,利用签名算法对签名进行解密,得到报文摘要的hash值,然后将得到的报文生成报文摘要并利用签名hash算法生成新的hash值,通过对比这两个hash值是否一致,就能判断信息是否完整,是否是由真正的服务器发送的。可知签名有两个作用确认消息发送方可靠,确认消息完整准确。

    上面提到了hash值的加密,我们还需要理解SSL的加密机制,在使用SSL的网络通讯过程中,消息在请求和响应中都是加密传送的。首先要知道加密算法分为两种:对称加密和非对称加密。对称加密就是发送双发使用相同的密钥对消息进行加解密,常见的对称加密为DES、3DES,AES等。非对称加密是发送双方各自拥有一对公钥私钥,其中公钥是公开的,私钥是保密的。当发送方向接收方发送消息时,发送方利用接收方的公钥对消息进行加密,接收方收到消息后,利用自己的私钥解密就能得到消息的明文。其中非对称加密方法有RSA、Elgamal、ECC等。此处只是简单了说明了这两种加密机制的过程,若要深入理解它们的原理、过程请搜索相应的资料,很容易搜索到。

    好了,了解了签名原理和两种加密机制,我们继续理解网络通讯中是怎么利用CA证书进行身份认证的?客户端与服务端需要经过一个握手的过程才能完成身份认证,建立一个安全的连接。握手的过程如下:

    客户端访问服务器(比如:https://www.12306.cn),发送ssl版本、客户端支持的加密算法、随机数等消息。
    服务器向客户端发送ssl版本、随机数、加密算法、证书(证书出现了)等消息。
    客户端收到消息后,判断证书是否可信(如何判断可信,看下文介绍),若可信,则继续通信,发送消息包括:向服务器发送一个随机数,从证书中获取服务器端的公钥,对随机数加密;编码改变通知,表示随后信息都将使用双方协定的加密方法和密钥发送;客户端握手结束通知。
    服务器端对数据解密得到随机数,发送消息:编码改变通知,表示随后信息都将使用双方协定的加密方法和密钥发送。
    以上就是整个握手的过程,在第三步实际上就完成了身份的认证,第四、五步是进行密钥的商定,因为非对称加密算法对数据加密非常慢,效率低,而对称加密加密效率很高,因此在整个握手过程要生成一个对称加密密钥,然后数据传输中使用对称加密算法对数据加密。可知ssl整个握手过程包括身份认证、密钥商定。上述讲述ssl的握手过程比较简单,想要深入理解ssl原理,下面这篇博文讲的不错:
    https://segmentfault.com/a/1190000002554673
    一定要看上面的博文,否则无法彻底理解证书使用的原理。

    2.客户端是如何验证CA证书是可信任的?
    一般来说,现在公共网站数据传输都是使用SSL,即通过https协议访问。Https就是http加SSL。在上面SSL握手过程中,客户端是如何验证服务器发送的CA证书呢?我们以12306网站为例进行说明,此时,客户端就是浏览器,如果我们是第一次访问12306网站,使用https://www.12306.cn地址访问,返回如下结果:

    提示此网站的安全证书有问题,说明证书不可信,如果我们忽略证书不可信,继续访问网站,打开12306网页,在首页提供一个根证书的下载,见下页面:

    下载根证书,安装完毕,再次访问12036网站,就不会提示网站的安全证书有问题了。这是什么机制呢?

    打开【工具】菜单(360浏览器为例),然后选择【内容】选项卡,点击【证书】按钮,打开证书窗口,选择【中级证书颁发机构】,会看到已经安装的12306的证书:

    只要安装上12306证书,就说明证书是可信的。使用https协议访问时,服务器发送证书向浏览器时,首先查找该证书是否已在信任列表中,然后对证书进行校验,校验成功,那么就证明证书是可信的。另外,证书的认证是安装证书链执行的,证书链的意思是有一个证书机构A,A生成证书B,B也可以生成证书C,比如在证书窗口中有一个360证书,见下图:

     

    360证书的颁发者是certification authority of wosign,在【受信任的根证书颁发机构】中,我们会看到该证书:见下图,

    也就是说,certification authority of wosign生成360证书,360可以生成其它的证书。A证书或者certification authority of wosign证书在整个证书链上就被称为根证书,证书验证的机制是只要根证书是受信任的,那么它的子证书都是可信的。比如说,我们使用https协议访问了需要360证书的网站,即使我们不安装360证书,那么网站也不会提示证书不安全,因为,生成360证书的根证书certification authority of wosign证书,在受信任的证书列表中。如果一个证书的根证书是不可信的,那么这个证书肯定也是不可信任的。

    由以上可知,根证书在证书验证中极其重要,而且,根证书是无条件信任的,只要我们将根证书安装上,就说明我们对根证书是信任的。比如我们安装12306的根证书,是出于我们对国家的信任,对网站的信任,我们才放心安装这个根证书。对于一些不安全的网站的证书,一定要慎重安装。

    另外需要知道的是,【受信任的根证书颁发机构】中的证书是windows预先安装的一些证书,都是国际上很有权威的证书机构,他们证书的生成都有很严格的流程,因此他们的证书被认为是安全,就像我们相信银行是安全,所以把钱存入到银行。

    3.有哪些CA机构?
    世界上较早的数字认证中心是美国的verisign公司,在windows的证书窗口中可以看到好多verisign公司生成的证书,见下图:

    另外还有加拿大的ENTRUST公司,也是很著名的证书机构。中国的安全认证体系分为金融CA和非金融CA。在金融CA方面,根证书由中国人民银行管理,在非金融CA方面,由中国电信负责。中国CA又可分为行业性CA和区域性CA,行业性CA中影响最大是中国金融认证中心和中国电信认证中国;区域性CA主要是以政府为背景,以企业机制运行,其中广东CA中心和上海CA中影响最大。

    4.自签名证书的如何生成、安装?
    有时候,我们在内部系统传输数据需要使用SSL协议,对数据加密,但是我们又不想花钱去申请CA,这个时候可以使用自签名CA,实现数据加密传输的功能。首先要明确一点就是自签名证书是不安全的,存在安全漏洞,具体看下面的博文介绍:

    为什么”自签名SSL证书”不安全?
    https://www.cnblogs.com/liyy2015/p/7649837.html

    自签名证书使用jdk中的keytool生成即可,看似神秘,但实际上比较简单,见下博文:

    如何利用keytool工具生成数字证书
    https://jingyan.baidu.com/article/b0b63dbfe18eff4a483070f4.html

    自签名证书的安装也很简单,见下博文:

    添加自签发的 SSL 证书为受信任的根证书
    https://cnzhx.net/blog/self-signed-certificate-as-trusted-root-ca-in-windows/

    在java编程中,使用socket网络编程,实现SSL协议,对服务器的证书需要导入到客户端的秘钥库中,这样才能完成自动认证,具体实现见下博文:

    JAVA SSL SOCKET通信服务器端客户端证书双向认证
    http://blog.csdn.net/matt8/article/details/45071815

     

     

    转: https://blog.csdn.net/yangyuge1987/article/details/79209473/

     

    展开全文
  • Alpine Linux添加Let’s Encrypt CA证书或者自签CA证书 文章目录Alpine Linux添加Let's Encrypt CA证书或者自签CA证书1. 用docker进行查看2. 添加CA证书2.1 放至目录`/usr/local/share/ca-certificates/`2.2 放至...
  • CA证书转换

    2020-09-16 13:13:56
    ca证书转换 1.pfx解释 1.带有私钥的证书 ​ 由Public Key Cryptography Standards #12(公钥加密技术12号标准),PKCS#12标准定义,包含了公钥和私钥的二进制形式的证书,以pfx作为证书文件的后缀名。 2.二进制编码...
  • 浅析CA证书

    2016-07-28 13:55:23
    CA证书 根证书
  • SSL CA证书 数字证书

    2018-01-18 14:42:49
    CA 证书4. CA 证书的信任链1. 数字证书 其实就是加密用的公钥或私钥吧,再包含一些身份等附加信息。任何人都可以使用相关工具生成自己的数字证书,用来加密文件,邮件,或用于通讯加密。2.SSL 协议,用于网络通讯的...
  • CA证书,也是根证书,是最顶级的证书,也是CA认证中心与用户建立信任关系的基础,用户的数字证书必须有一个受信任的根证书,用户的数字证书才是有效的。那么,CA数字证书是干嘛用的,有什么作用呢?通过下文来详细...
  • ROOT证书、CA证书和使用CA签发的X.509证书 简介 概念 使用Bouncy Castle 生成一个签名证书 验证证书的签名 使用来自Oracle的证书支持 加载Keystore文件 验证签名是否合法 验证Trust Chain 结尾 简介 日常开发中,...
  • 内部 CA 证书管理

    2020-05-28 09:55:09
    内部 CA 证书管理 生成 CA 证书 # 生成 KEY openssl genrsa -out ca.key 4096 # 生成证书 openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=省/L=市/O=组织/OU=组织单位/CN=常用名(或域名)" \ ...
  • ca证书自动生成脚本

    2019-01-30 15:52:00
    ca证书自动生成脚本,只需修改下脚本内的文件路径等,即可使用,当然,不修改也没问题!
  • CA证书,这是一种很笼统的说法,CA两字母代表Certificate Authority,就是证书授权中心的意思,也就是证书颁发机构可以简称为“CA”,那么“CA证书”通俗的理解就是数字证书机构签发的数字证书都可以称为“CA证书”...
  • ca 证书机制

    2018-09-19 00:05:24
    很多人都听过 CA 证书,其实我们每天都在使用它,即使你不知道。下面通俗的解释一下 CA 证书是什么。 假设你 A 公司的一名技术人员,要去 B 公司拜访,但是 B 公司的人都不认识你,怎么办? 常见的做法是,A 公司给...
  • 一、公钥使用者 、 二、公钥分配 、 三、CA 证书格式 、 四、CA 证书吊销
  • 什么是CA证书

    2020-04-12 18:36:13
    一文读懂什么是CA证书 单纯使用公私钥进行加解密,会存在公钥被替换伪造的风险,无法判断公钥是否属于服务提供商。 所以,公钥需要通过CA机构的认证。 CA机构用自己的私钥,对服务提供商的相关信息及公钥进行加密...
  • 使用OpenSSL创建生成CA证书、服务器、客户端证书及密钥 目录使用OpenSSL创建生成CA证书、服务器、客户端证书及密钥(一)生成CA证书(二)生成服务器证书(三)生成客户端证书 说明: 对于SSL单向认证: 服务器...
  • CentOS导入CA证书

    万次阅读 2016-08-19 14:14:36
    CentOS导入CA证书
  • Nginx 自制CA证书

    2019-03-27 15:56:24
    使用openssl工具自制CA证书: [root@Python CA]# openssl genrsa -out server.key 1024 [root@Python CA]# openssl rsa -in server.key -pubout -out server.pem [root@Python CA]# openssl genrsa -out client....
  • 自建CA证书认证

    2020-04-05 11:18:10
    自建CA证书认证 CA证书认证通常包含三部分,CA认证服务器、业务服务器、客户端,也可以简单分成两部分CA/业务服务器,和客户端 CA服务器 生成私钥(pem) openssl genrsa -out cakey.pem -des 2048 gen:生成 rsa:...
  • CA证书那些事

    2016-12-18 22:12:41
    由于之前一直没有弄https的服务器搭建,也就没有弄过CA证书,接下来写个CA证书的申请历程 预告
  • nginx_CA证书创建

    2020-01-14 18:50:32
    nginx 自建CA证书 //第一步,为服务器端和客户端准备公钥、私钥 #生成服务器端私钥 openssl genrsa -out server.key 1024 #生成服务器端公钥 openssl rsa -in server.key -pubout -out server.pem //第二步,生成 ...
  • Oneinstack CA证书配置

    2018-05-24 13:49:13
    1.申请Ca证书2.推送到负载均衡服务器3.配置oneinstack证书,重命名key、pem文件到nginx相应的文件key、crt。重启nginx即可。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,428
精华内容 4,971
关键字:

ca证书