SSL中,公钥,私钥,证书的后缀名都是些啥

SSL中,公钥,私钥,证书的后缀名都是些啥,第1张

Apache、Nginx环境下:

公钥:KEY

私钥:KEY

证书:CRT或者PEM(两者都可以)

概括:无论是根证书还是证书后缀都是CRT。

IIS环境:pfx

JKS环境:JKS

概括:IIS或者JKS安装证书有对应格式文件需要向Gworg机构索取:网页链接

在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为akey;

打开 apache 安装目录下 conf 目录中的 httpdconf 文件,找到以下内容并去掉“#”。

#LoadModule ssl_module modules/mod_sslso (如果找不到请确认是否编译过 openssl 插件)#Include conf/extra/httpd-sslconf(删除行首的配置语句注释符号“#”,保存后退出)

打开 apache 安装目录下 conf/extra/httpd-sslconf 文件 (也可能是confd/sslconf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:

# 添加 SSL 协议支持协议,去掉不安全的协议SSLProtocol all -SSLv2 -SSLv3# 修改加密套件如下SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUMSSLHonorCipherOrder on# 证书公钥配置SSLCertificateFile cert/a_publiccrt# 证书私钥配置SSLCertificateKeyFile cert/akey# 证书链配置,如果该属性开头有 '#'字符,请删除掉SSLCertificateChainFile cert/a_chaincrt

重启 Apache。

apachectl -k stop

apachectl -k start

加密方式一共分为两种 对称加密 和 非对称加密

加密和解密使用的是同一种密钥

这类加密算法的优点是 计算量小,加密速度快,加密效率高

缺点也明显,在传输数据前,双方必须商定并且保存好密钥,任何一方泄露了密钥,加密信息就不再安全了。另外,每次使用对称加密算法时,都需要使用其他人不知道的唯一密钥,这样会使得双方会拥有大量的密钥,让管理密钥称为一种负担

非对称加密需要两个密钥来进行加密和解密,这两个密钥分别称为 公有密钥 和 私有密钥

这两份钥匙的使用是相互对应的。如果使用了公有密钥加密文件,那么解密就只能用对应的私密钥匙才能解密,同理,如果用私密钥匙加密了文件,那么解密也只能使用对应的公有。

这里有一个缺点:因为乙的公钥是公开的,所以有被人冒充甲方使用乙的公钥发送请求。

解决方案:首先甲用自己的私钥对消息进行加密,生成另一个密文,然后将密文发送给乙,乙收到消息之后,如果能用乙的公钥解密,就说明这个消息确实是甲方发送的。

虽然上面的方法解决了身份认证的问题,但是由于所有人都有甲的公钥,所以只要消息发送中途被截获就一定能被解密;而且对文件加密可能是个耗时的过程,比如文件足够大,那么用私钥加密整个文件以及拿到文件后解密的开销无疑是巨大的。为了解决这两个问题,于是有了数字签名。

数字签名的发送流程如下:

有了数字签名,我们就可以验证来源和消息的完整性。但是仍然还存在缺陷。假如存在第三人丙,偷偷在乙的电脑用自己的公钥替换了甲的公钥,然后用自己的私钥给乙发送信息,这时乙收到的消息会以为是甲发送的。

为了解决这个问题,于是有了 数字证书

数字证书,就是为了解决,无法区分电脑中的密钥归属的问题,其实就是给公钥做个身份证,以便让别人搞清楚公钥到底是谁的。

但仍然存在问题:假设有一万个人,他们每个人都有CA的证书,那么乙就要报关一万份不同的CA公钥来验证这些人的身份。这是不可能的。

所以就有了"根证书"。根证书里面存储着CA公钥来验证所有CA颁发的数字证书,乙只需要保管一份根证书就可以验证所有人的身份了。

以上

原文连接: https://blogcsdnnet/kswkly/article/details/83617944

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » SSL中,公钥,私钥,证书的后缀名都是些啥

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情