当前位置: 首页 > news >正文

河南省汝州市建设门户网站网站建设 app开发网站

河南省汝州市建设门户网站,网站建设 app开发网站,深圳酒店网站建设,泰安 网站建设公司初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。

源码指引:github源码指引_初级代码游戏的博客-CSDN博客

注意本文可能无法生成v3格式的证书,如何生成v3格式请看:openssl 正确生成v3带SAN的证书-CSDN博客


目录

证书和私钥

CA证书和私钥

需要谁的CA证书

单向认证和双向认证

生成CA、密钥、证书的全套操作

去掉私钥密码

导入到windows证书管理

为什么导入成功却无法使用

生成pfx证书(带私钥)

导入CA证书

浏览器选择证书


        大部分情况下我们需要用到CA证书(和私钥)、服务器证书(和私钥)、客户端证书(和私钥),有时候一些人不是太理解这几个东西,稍微解释一下。

证书和私钥

        首先必要知道公开密钥算法的奇妙之处:一对密钥,互相解密。证书就是盖了公章的公钥,可以发布给全世界,私钥你自己藏好。

CA证书和私钥

        相当于公安部,CA签名的证书就相当于公安部盖章的身份证,是可信的。CA的证书会由操作系统预置,作为信任体系的基础。

        在windows的证书管理中,这部分叫做“受信任的根证书颁发机构”。在openssl调用中,这一般由CA证书参数指定,是一个文件或一个目录位置,里面放置了所有信任的根证书。

        如果CA是我们自己建立的,我们会拥有对应的私钥,以便签发服务器证书和客户端证书(以及其他CA所能做的),如果CA不是我们自己建立的,显然,我们不可能拥有CA的私钥。

需要谁的CA证书

        通讯时需要确认对方的身份,对方提供的证书是否可信?最终是判断对方的证书签发者的CA证书是否可信(自己的证书的签发者自己当然是信任的,不需要验证),所以,服务器调用时需要的CA证书是客户端的,客户端需要的CA证书是服务器的,为了简单起见,我们一般用服务器的CA证书签发客户端证书给客户端用,这样就没有区别了。

        严格地讲,服务器和客户端证书都应该是从公开的可信的CA那里申请的,而不是我们自己建立的(就好比我们自己建立了一个公安部印制身份证,这可严重犯法了)。我们签发的证书在互联网上是不会被认可的,但是如果我们的客户是特定的客户群,他们可以手工信任我们的CA,那么自建CA是可以的,事实上,一般企业服务都是这样做的。

单向认证和双向认证

        单向认证指的是服务器不验证客户端证书、仅仅需要客户端验证服务器的证书(服务器和客户端的设置是独立的,服务器上的设置一般叫做“不验证”),双向认证指的是服务器也要验证客户端的证书(服务器上的设置一般叫做“peer to peer”)。

        因为管理客户端证书很麻烦,一般我们就用单向认证,只需要客户端认可服务器证书的签发CA就可以了,能起到传输加密的效果,防偷听。

生成CA、密钥、证书的全套操作

        直接执行即可生成全套:

#创建CA证书私钥
openssl genrsa -aes256 -out ca.key 2048
#请求证书
openssl req -new -sha256 -key ca.key -out ca.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=CA/emailAddress=admin@test.com"
#自签署证书
openssl x509 -req -days 36500 -sha256 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.cer#创建服务器私钥
openssl genrsa -aes256 -out server.key 2048
#请求证书
openssl req -new -sha256 -key server.key -out server.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=SERVER/emailAddress=admin@test.com"
#使用CA证书签署服务器证书
openssl x509 -req -days 36500 -sha256 -extensions v3_req  -CA  ca.cer -CAkey ca.key  -CAserial ca.srl  -CAcreateserial -in server.csr -out server.cer#生成客户端私钥
openssl genrsa -aes256 -out client.key 2048
#申请证书
openssl req -new -sha256 -key client.key  -out client.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=www.test.com/CN=CLIENT/emailAddress=admin@test.com"
#使用CA证书签署客户端证书
openssl x509 -req -days 36500 -sha256 -extensions v3_req  -CA  ca.cer -CAkey ca.key  -CAserial ca.srl  -CAcreateserial -in client.csr -out client.cer

去掉私钥密码

        密钥名称需要替换:

#去掉私钥密码
openssl rsa -in password.key -out nopassword.key

导入到windows证书管理

为什么导入成功却无法使用

        直接导入.cer证书是没用的,因为.cer只有证书没有私钥,单独导入.key格式不识别,合并为.pem也不行,还是只认证书不认私钥。没有私钥就无法进行双向认证的加密通讯。

        在证书管理查看证书,正确的包含私钥的证书如下:

        如果没有私钥就没有红框内的内容。 

生成pfx证书(带私钥)

#生成用于windows的pfx证书(pem格式无法导入私钥)
openssl pkcs12 -export -out client.pfx -inkey client.key -in client.cer

        导入pfx格式就没问题了。

导入CA证书

        如果提示证书无法验证,那是因为根证书不受信任,将ca.cer导入到“受信任的根证书颁发机构”就可以了。因为不需要使用CA证书签发新证书,所以不需要CA的私钥文件。

浏览器选择证书

        服务器要求双向认证时浏览器会提示选择证书:

        如果证书没有私钥,是不会显示在这里的。


(这里是文档结束) 

http://www.yayakq.cn/news/326969/

相关文章:

  • 网站建设公司利润怎么样企业网站源码网
  • 合肥做网站的企业北京哪里有专门做网站的地方
  • 广州网站运营WordPress推送服务
  • 建筑网站模板丽水网站建设专业的公司
  • 东莞市建设工程质量监督网站百度营销搜索推广
  • 企业网站推广策划中等职业学校专业建设规划
  • 定制网站建设公司价格亦庄网站建设公司
  • 创意中山网站建设输入网站域名
  • 简答网站内容建设的时候内链重要性秦皇岛网站制作哪个好
  • 帮别人做钓鱼网站犯法吗简约的网站
  • wordpress多语言企业网站搜索引擎优化方法
  • 高端网站建设jm3q网站建设找导师蓝林
  • 360网站空间网页设计难学吗
  • 太原网站上排名苏州网站建站
  • 建设一个网站需要哪些材料阳江房产网签数据
  • 内蒙古两学一做网站无锡常规网络营销是什么
  • wordpress建的网站吗成都 直播网站建设
  • 企业网站建设公司 丰台自己做免费网站难吗
  • 外贸建网站免费模板抓取网站访客数据原理
  • 苏州网络网站建设中国行业信息网官网
  • 自建网站长春seo排名扣费
  • 电子 东莞网站建设网站编辑没有经验可以做吗
  • 电子商务网站建设与管理考试例题哈尔滨网站建设公司哪家好
  • 用dw做网站的教程wordpress page 自定义
  • 如何用本机电脑做网站服务器吗自助企业建站模板
  • 网做英文网站不用网络的游戏
  • 中国东盟建设集团有限公司网站黑色赚钱的网站
  • 域名服务器有哪几种北京seo案例
  • 大连做网站优化哪家好个人建网站的详细步骤
  • php 网站超市tag 网站备案