请求方的操作:此步骤是为了验证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. 689D Magic Odd Square 奇数幻方

    1 奇数阶幻方构造法 (1) 将1放在第一行中间一列; (2) 从2开始直到n×n止各数依次按下列规则存放:按 45°方向行走,向右上,即每一个数存放的行比前一个数的行数减1,列数加1 (3) 如果行 ...

  2. eclipse的调试方法的简单介绍

    声明:本文不是自己 作为编程人员,程序的调试是一项基本功.在不使用IDE的时候,程序的调试多数是通过日志或者输入语句(System.out.println)的方式.可以把程序运行的轨迹或者程序运行过程 ...

  3. 函数求值一<找规律>

    函数求值 题意: 定义函数g(n)为n最大的奇数因子.求f(n)=g(1)+g(2)+g(3)+-+g(n).1<=n<=10^8; 思路: 首先明白暴力没法过.问题是如何求解,二分.知道 ...

  4. sqlserver 2008 查看表描述,和表结构

    sp_help sys_user sp_columns   sys_user --表结构 THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , c ...

  5. jquery从tr获取td

    已知HTML:<tr id="row001"><td>001</td><td>张三</td></tr>JQU ...

  6. SuperSocket+unity 网络笔记

    学习SuperSocket 必须要注意的 代码是 static void Main(string[] args) { WebSocketServer appServer = new WebSocket ...

  7. tomcat内存优化问题

    Java内存组成 1) 堆 运行时数据区域,所有类实例和数组的内存均从此处分配.Java 虚拟机启动时创建.对象的堆内存由称为垃圾回收器 的自动内存管理系统回收. 堆由两部分组成: 其中eden+fr ...

  8. CodeForces#378--A, B , D--暴力出奇迹....

    A题 A. Grasshopper And the String time limit per test 1 second memory limit per test 256 megabytes in ...

  9. Python虚拟环境安装virtualenv

    解决了多个版本共存的问题 virtualenv 为每个不同项目提供一份 Python 安装.它并没有真正安装多个 Python 副本,但是它确实提供了一种巧妙的方式来让各项目环境保持独立. 安装vir ...

  10. EL表达式,保留小数点后两位

    你遇到过页面显示小数有9.987870488E9这个吗? 这是因为没有保留小数的原因 有时候用js保留小数很麻烦的时候,可以用EL表达式 <fmt:formatNumber type=" ...