请求方的操作:此步骤是为了验证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. jave学习1--基础介绍

    java 技术主要分为三个部分: jave SE基础知识. 对于各个程序的开发语言都包含的基本数据类型,循环控制,数组,方法等. jave SE的面向对象部分. 所有的面向对象的概念,为最终的接口准备 ...

  2. 判断Android应用是否安装、运行

    本文介绍3个方法,判断手机上是否安装了某应用.该应用是否正在运行.获取手机某个APK文件的安装Intent.启动该Intent就可以直接安装该APK. /** * 判断应用是否已安装 * * @par ...

  3. Linux环境下Android JNI程序的编译

    尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/8993493 在android开发中,有时候需要编写一些C/C++代码,这时候 ...

  4. #ifndef 和 #endif

    文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西.比如你有两个C文件,这两个C文件都include了同一个头文件.而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了, ...

  5. java 基础的几种算法

    1:冒泡排序:2个之间进行循环筛选   public void sort(int[] a) { int temp = 0; for (int i = a.length - 1; i > 0; i ...

  6. LightOJ 1234 Harmonic Number 调和级数部分和

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1234 Sample Input Sample Output Case : Case : ...

  7. Sphinx配置过程

    http://www.oschina.net/question/84274_11938 http://www.ibm.com/developerworks/library/os-php-sphinxs ...

  8. JavaScript数组函数unshift、shift、pop、push使用实例

    如何声明数组 s中数组的声明可以有几种方式声明 复制代码代码如下: var tmp = [];  // 简写模式var tmp = new Array(); // 直接new一个var tmp = A ...

  9. 理解free命令

    free的输出: total used free shared buffers cached Mem: -/+ buffers/cache: Swap: 第一行: total:总内存 used:已使用 ...

  10. android 线程池

    http://blog.csdn.net/wangwenhui11/article/details/6760474 http://blog.csdn.net/cutesource/article/de ...