请求方的操作:此步骤是为了验证CA的发证过程。
1.生成私钥:
    Openssl genrsa 1024 > private.key  生成私钥并保存到private.key文件中
    或者Openssl genrsa –out private.key 1024
    1024:表示生成1024位的密码
   从私钥中生成公钥:
     openssl rsa -in private.key -pubout > public.key  生成公钥并保存到public.key文件中
   证书请求:
openssl req -new -key private.key -out my.csr
(请求方的详细信息)
Country Name (2 letter code) [GB]:              #所在国家
State or Province Name (full name) [Berkshire]:     #州或省名
Locality Name (eg, city) [Newbury]:               #所在城市的名字
Organization Name (eg, company) [My Company Ltd]: #组织或公司的名字
Organizational Unit Name (eg, section) []:            #公司所在部门
Common Name (eg, your name or your server's hostname) []: #服务器名字或个人名字
Email Address []:      #Email地址
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:  #加密证书请求的密码
An optional company name []:  #
 
2. 上面的条件填好以后就生成了证书颁发请求文件:my.csr
然后把my.csr发给CA并放到/dir_name下
  scp my.csr CA 的域名或CA的IP地址:/dir_name
那么在CA的/dir_name目录下就会收到my.csr
 
CA的配置 
3. 配置做成CA
cd /etc/pki/tls
   vim openssl.cnf
找到[ CA_default ]
 
dir             = /etc/pki/CA              # Where everything is kept
certs           = $dir/certs            # Where the issued certs are kept
crl_dir         = $dir/crl              # Where the issued crl are kept
database        = $dir/index.txt        # database index file.
new_certs_dir   = $dir/newcerts         # default place for new certs.
保存退出
     接着cd ../CA目录下:
        mkdir certs crl newcerts
        touch index.txt  serial
        echo 00 > serial
   4.  创建CA的证书:CA要想给别人发证首先自己得有证
      cd private
      openssl genrsa 1024 > cakey.pem
      生成自签的证书
   cd ..
      openssl req –new –x509 –key private/cakey.pem –out cacert.pem
     (CA的详细信息)
Country Name (2 letter code) [GB]:              #所在国家
State or Province Name (full name) [Berkshire]:     #州或省名
Locality Name (eg, city) [Newbury]:               #所在城市的名字
Organization Name (eg, company) [My Company Ltd]: #组织或公司的名字
Organizational Unit Name (eg, section) []:            #公司所在部门
Common Name (eg, your name or your server's hostname) []: #服务器名字或个人名字
Email Address []:      #Email地址
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:  #加密证书请求的密码
An optional company name []:  #
 
5. cd /dir_name
 给请求者发证:
 openssl ca –in my.csr –out my.crt

Linux SSL 双向认证 浅解的更多相关文章

  1. linux ssl 双向认证

    一,首先切换到apache目录下,创建一个CA文件夹 sudo mkdir CA sudo chmod 777 CA 二,然后进去CA文件夹 cp CA 三,创建其它文件 mkdir demoCA m ...

  2. SSL握手通信详解及linux下c/c++ SSL Socket代码举例(另附SSL双向认证客户端代码)

    SSL握手通信详解及linux下c/c++ SSL Socket代码举例(另附SSL双向认证客户端代码) 摘自: https://blog.csdn.net/sjin_1314/article/det ...

  3. tomcat配置SSL双向认证

    一.SSL简单介绍 SSL(Secure Sockets Layer 安全套接层)就是一种协议(规范),用于保障客户端和服务器端通信的安全,以免通信时传输的信息被窃取或者修改. 怎样保障数据传输安全? ...

  4. SSL双向认证java实现(转)

    本文通过模拟场景,介绍SSL双向认证的java实现 默认的情况下,我认为读者已经对SSL原理有一定的了解,所以文章中对SSL的原理,不做详细的介绍. 如果有这个需要,那么通过GOOGLE,可以搜索到很 ...

  5. SSL双向认证(高清版)

    介绍了SSL双向认证的一些基本问题,以及使用Nginx+PHP基于它搭建https的Webservice. 之前的方式只是实现1:1的模式,昨天同事继续实现了n:1的模式,这里我再整理记录下. 由于n ...

  6. Nginx、SSL双向认证、PHP、SOAP、Webservice、https

    本文是1:1模式,N:1模式请参见新的一篇博客<SSL双向认证(高清版)> ----------------------------------------------------- 我是 ...

  7. apache用户认证,ssl双向认证配置

    安装环境: OS:contos 6.4 httpd:httpd-2.2.15-59.el6.centos.i686.rpm openssl:openssl-1.0.1e-57.el6.i686.rpm ...

  8. ssl双向认证

    ssl双向认证 一.背景知识 1.名词解释 ca.key: 根证书的私钥 , ca.crt: 根证书的签名证书 server.key, server.crt client.key, client.cr ...

  9. SSL双向认证和SSL单向认证的流程和区别

    refs: SSL双向认证和SSL单向认证的区别https://www.jianshu.com/p/fb5fe0165ef2 图解 https 单向认证和双向认证!https://cloud.tenc ...

随机推荐

  1. mysql 时间字段的一些问题

    MySQl中有多种表示日期和时间的数据类型.其中YEAR表示年份,DATE表示日期,TIME表示时间,DATETIME和TIMESTAMP表示日期和实践.它们的对比如下: YEAR ,字节数为1,取值 ...

  2. Form类的KeyPreview属性

    首先需要知道一个知识点,Form控件,Panel控件和GroupBox控件等容器类控件默认是不接收焦点的,而是负责管理容器中控件的焦点.当容器控件被选中时,默认把焦点传送至容器内Tab顺序为0的控件. ...

  3. UVALive 2324 Human Gene Functions(动态规划)

    题意:求出将两个字符串改成一样长度所能形成最大的相似度. 思路:这个可以说是编辑距离的一个变形,编辑距离最终状态时要两个字符串完全一致,这个就是要求长度一样,而且这个只允许插入“—”这一个字符.模仿编 ...

  4. Log4j NDC MDC

    NDC(Nested Diagnostic Context)和MDC(Mapped Diagnostic Context)是log4j种非常有用的两个类,它们用于存储应用程序的上下文信息(contex ...

  5. rabbitmq用于分布式系统

    上文介绍了RabbitMQ在linux下的安装,这里就简单的介绍一下基于RabbitMQ的开发.RabbitMQ已经提供了一大坨材料. Java – http://www.RabbitMQ.com/j ...

  6. 开源企业管理软件 ONES

    ONES 不是 ONS,基于AngularJS + ThnkPHP开发的企业管理系统平台,名字可以理解为ONES is a Niubility ERP System 或者 ONES Notonly a ...

  7. 主机windwo7+虚拟机centos如何配置虚拟机可以上网,且与主机互ping通

    /etc/sysconfig/network-scripts/ifcfg-eth0的配置如下: E=eth0PROTO=static#IPADDR=10.1.1.138IPADDR=192.168.0 ...

  8. zf-关于公司框架的时间字段的格式转换问题。。

    <ww:date value="" format="yyyy-MM-dd">

  9. 关于jdk环境变量配置成了1.6.0_39 32位jdk 的路径 cmd中java -version却还是显示 64位或者其他jdk 路径的解决方法

    其实是c盘或者其他盘的 jdk 安装的太多了,把其他的都卸载掉就行了

  10. Exponential notation

    Exponential notation You are given a positive decimal number x. Your task is to convert it to the &q ...