请求方的操作:此步骤是为了验证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. Hibernate 系列教程17-查询缓存

    在二级缓存配置成功的基础上进行查询缓存配置 Product public class Product { private Long id; private String name; Product.h ...

  2. icecap录屏gif

    百度云下载地址:http://pan.baidu.com/s/1jIeyb4q 之前写博客,只有文字,有些效果看不出来.有了这个gif录屏工具方便很多哦,嘿嘿

  3. THOUGHTS: programming in linux... with third_party open sources... methods

    Actually I do not have experiences in programming with open sources/third party libs.. in linux.. I ...

  4. lucene的多种搜索2-SpanQuery

    SpanQuery按照词在文章中的距离或者查询几个相邻词的查询 SpanQuery包括以下几种: SpanTermQuery:词距查询的基础,结果和TermQuery相似,只不过是增加了查询结果中单词 ...

  5. java 面向抽象编程的思想

    SIM.java public abstract class SIM { public abstract void setNumber(String n); public abstract Strin ...

  6. HDU 1054 Strategic Game 最小点覆盖

     最小点覆盖概念:选取最小的点数覆盖二分图中的所有边. 最小点覆盖 = 最大匹配数. 证明:首先假设我们求的最大匹配数为m,那么最小点覆盖必然 >= m,因为仅仅是这m条边就至少需要m个点.然后 ...

  7. JSP 语法/标签

    ┣1.declaration Declaration定义了JSP脚本语言使用的变量和函数,这类似于Java中定义全局变量,或可以把它想像成pascal编程语言中的单元文件的interface部分.声明 ...

  8. Json解析异常处理方式(JSONException: Value of type java.lang.String cannot be converted to JSONObject)

    有一次从服务器解析获取到的Json字符串突然报了这个异常,由于这个json是从 php页面上推送过来的,当时就查是不是由于编码问题引起的,所以就上网搜了,网上大部分都是说由于utf-8的bom头引起的 ...

  9. hdu_5691_Sitting in Line(状压DP)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5691 题意:中文,不解释 题解:设dp[i][j]表示当前状态为i,以第j个数为末尾的最忧解,然后dp ...

  10. redis五种数据类型的使用

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...