让自己的主机成为证书颁发机构


        在互联网的世界里证书就是我们在这个网络世界的“×××”,通过这个“×××”我们来证明自己的真实性,判断对方的真 实性,以防冒名顶替对我们造成巨大的损失,比如我们的网银,就需要证书的认证,等等....因此这个网络世界的“
×××”即证书是必不可少的,除此之外,证书还有加密,解密的功能,也就是说没有证书,你就是在网上“裸奔”
        既然证书这么重要,我们怎么获得这个证书呢?
        在国际上有个第三方、世界公认的证书管理机构(CA),专门负责证书的发放和管理,这个世界公认的机构给需要证书的发放和管理证书,当看到对方的证书的时候,我们就可以确定对方的身份。当然这个机构并不是慈善机构,不是
 免费的发放和管理证书,与之相反证书的使用费用是相当昂贵的,像我们这些平头老百姓来说是难以承受的开支,所以CA发放的证书主要的对象主要是一些大型的网络或商业公司,来进行安全升级,以防有人冒名窃取机密或进行破坏
         有人就问了,我的网银也是需要证书的,难道这个证书就不是CA颁发的吗?这个证书是由我们网银所属银行内部颁发的,通过这个证书,银行就能确定你的身份。在这里证书是为获取行为发起人身份的确认,在一定只要能确定你身份的证书就是有用的证书,我们完全没有必要为了获取银行对我们身份的认证而承担CA昂贵的费用。
          因此,如果我们想要在局域网内架设主机,同时又想对登陆的用户进行身份的验证,以防恶徒冒名登录服务器盗取机密或搞破坏,我们完全可以把自己当作“银行内部”向每个我们信任的“客户”发放一个证书,这样我们可以获得登录者的身份认证,以防不被我们信任的人登录主机,此时我们就摇身一变,称为了我们服务器的“CA”,当然这个理论是可行的,但是要怎样让自己成为CA呢?下面我就给大家一一道来。

在这里我们要用到一个工具openssl,许多版本的linux上都自带的有这个工具。
       1、我们要进入让自己主机称为CA的必须的工作环境进/etc/pki/CA目录,这个是必须的。 
      2、进入工作目录之后,就开始进行工作了。
            先给自己生成私钥cakey.pem ,并且把生成的私钥放在/etc/pki/CA/privat 目录中,生成私钥的命令如下:
          (umask 66; openssl genrsa 2048 > private/cakey.pem)
          注释:括号表示当前命令在子shell下运行,对全局不产生影响
                       umask 66是将创建的私钥文件的属组和其他用户权限减少6,来保证私钥的安全
                       genrsa 生成rsa类型的私钥
                       2048 是指生成密钥的长度(可以选择的长度有1024、2048、4096....)
                       private/cakey.pem指私钥的名字为cakey.pem 存放在private目录下
             现在我们主机的私钥已经生成。                                                 
      3、生成字签证书,也就是说让我们的主机给自己先颁发一个证书,来向其他人证明自己是合法的CA,命令如下:
            openssl rep -new -x509 -key private/cakey.pem -out cacert.pem -days 3650  名字固定
            注释:rep 是openssl的子命令,用来进行证书申请的         
                        -x509 指生成一个自签证书
                        -key 指定使用哪个目录下的哪个私钥来生成证书
                        -out 生成,后加证书的名字。
                        -days 指定证书的有效时间,单位为天
               特别注意:这证书的名字最好是cakey.pem因为我们CA的配置文件中都是以这个名字为默认名字,否则将进行   大量相应的修改。                          
              输完这个命令之后将显示一个个的选项让你进行填写,国家的名字为两个大写字符:CN
               其他根据自己情况填写
              但是Common Name (eg, your name or your server's hostname) []:这项必须填写为你将要使用的服务器的名字,只有使用这个名字的时候,CA才会起作用。
      4、对自己刚刚成立的CA机构进行基本完善和相应的配置
             首先编辑文件/etc/pki/tls/openssl.cnf        
                找到[CA _ default ]中的
                 dir             =     将自己的证书的存放的实际路径即名字填上,其他选项对应进行修改
              其次在CA目录中 mkdir certs  newcerts crl 创建这些目录,为以后管理用户的证书所用。
               最后    创建文件:index.txt    serial
                            echo  01 > serial   将第一个序号写入其中
    至此,我们的CA就创建成功了,当其他用户发送×××请求的时候我们就可以对其进行证书的颁发了!!
            颁发证书的命令:openssl ca -in name -out name.crt
                注释:name为用户发送请求中密钥的名字 ,保存的证书必须以.crt结尾
     
      好了,我们的CA已经完全建立成功了,大家可以参照以上的步骤感受一下CA的特权了!

转载于:https://blog.51cto.com/aceruser/635664

让自己的主机成为证书颁发机构相关推荐

  1. SSL之CA证书颁发机构安装图文详解

    上一节我们说到,在验证公钥安全性时,是在CA机构颁发的包含用户的公钥及其身份信息的数字证书,数字证书由权威机构--CA签发.这个CA权威机构可以是自己的服务器也可以是国际公认的CA权威机构.下面我就来 ...

  2. 2.域控制器及证书颁发机构

    安装域控制器部分:1.修改计算机名称IP地址 2.安装AD DNS 角色  运行服务器向导  3.配置AD域 (选定域名,推荐公网内网一致)  安装配置证书颁发机构部分:1.运行服务器向导,安装以下证 ...

  3. WinInet:HTTPS 请求出现无效的证书颁发机构的处理

    首先,微软提供的WinInet库封装了对网页访问的方法. 最近工作需要从https服务器获取数据,都知道https和http网页的访问方式不同,多了一道证书认证程序,这样就使得https在请求起来比h ...

  4. 证书颁发机构+NPS

    证书颁发机构+NPS 题目 一.证书颁发机构安装及配置 1.安装及创建根证书 2.为chinaskills.com域内的web站点颁发web证书. 3.当前拓扑内所有机器必须信任该证书颁发机构 4.所 ...

  5. 什么是证书颁发机构?

    CA:证书颁发机构 (CA: Certificate Authority) CA is an abbreviation of the "Certificate Authority" ...

  6. centos 配置证书_如何在CentOS 8上设置和配置证书颁发机构(CA)

    centos 配置证书 介绍 (Introduction) A Certificate Authority (CA) is an entity responsible for issuing digi ...

  7. 如何在Ubuntu 20.04上设置和配置证书颁发机构(CA)

    介绍 (Introduction) A Certificate Authority (CA) is an entity responsible for issuing digital certific ...

  8. SSL/TLS协议详解(中)——证书颁发机构

    SSL/TLS协议详解(中)--证书颁发机构 本文翻译自:https://www.wst.space/ssl-part-3-certificate-authority/ 上一篇中,我们讨论了关于Dif ...

  9. Centos配置CA(证书颁发机构)

    文章目录 赛题 1.安装openssl 2.修改根证书存放目录 3.创建根证书存放目录 4.创建根证书 5.检验测试 赛题 7.CA(证书颁发机构) CA 根证书路径/csk-rootca/csk-c ...

最新文章

  1. stata命令汇总_第九届高级计量经济学及stata应用研讨会在京顺利举办
  2. 01 背包问题 --- 待续 - -
  3. h5实现手机端等级进度条
  4. RabbitMQ——自动退出的解决方案
  5. 志愿者招募 | 2021 .NET Conf China
  6. A. Gamer Hemose
  7. 云计算:技术疲劳玩概念 伪云项目横行于世
  8. [Git] 我的 Github 地址
  9. Finding distance between two curves
  10. oracle定时任务按照小时,ORACLE定时任务时间间隔设置
  11. 快速排序的C语言实现
  12. 计算机上的win键是什么意思,win是电脑上哪个键
  13. 欧盟 | 地平线 2020 ENSEMBLE:D2.13 SOTIF Safety Concept(上)
  14. php短链接api,PHP实现短网址还原API接口
  15. vue + 高德原生 API实现地图可视化
  16. 「Nescafé26」 Freda的传呼机 【最短路径+树上倍增】
  17. SharePoint Online:软件边界和限制
  18. EXTRA_CFLAGS += -D 与CONFIG_ =y
  19. 如何解决收到网监大队信息系统安全等级保护限期整改通知书
  20. Python基础:异常处理

热门文章

  1. 学C++,80%都是为了搞竞赛、凑一门语言?网友:莫钓鱼
  2. 腾讯在「无用」道路上越走越远
  3. 30年前未曾发行的任天堂红白机游戏,被这个团队从21张软盘中重新恢复了,还是3D的...
  4. 大脑只需单个神经元就可进行XOR异或运算,Science新研究揭开冰山一角,引发热议...
  5. 国内能打自动驾驶出租车了!行驶平稳还免费,首个量产车型开放道路试运营...
  6. AI帮你写Python,安装只需5步,还能任你调教 | 开源
  7. 小程序二次贝塞尔曲线,购物车商品曲线飞入效果
  8. C#中三种定时器对象的比较
  9. 关于self.用法的一些总结
  10. linux redhat 下载_使用Vmware创建Linux(Ubuntu)系统