一,首先切换到apache目录下,创建一个CA文件夹

sudo mkdir CA

sudo chmod 777 CA

二,然后进去CA文件夹

cp CA

三,创建其它文件

mkdir demoCA

mkdir demoCA/newcerts

mkdir demoCA/private

touch demoCA/index.txt

echo "01" >> demoCA/serial

四,输入“openssl genrsa -out server.key 1024”,生成网站服务器公钥文件server.key。

输入openssl req -new -out server.csr -key server.key (Common Name为要申请域名证书的域名)

输入“openssl genrsa -out ca.key 1024”,生成CA私钥文件ca.key。

输入“openssl req -new -x509 -days 365 -key ca.key -out ca.crt ”,生成CA证书。

输入“openssl ca
-in server.csr -out server.crt -cert ca.crt -keyfile ca.key
”,

之后会在bin目录下面看到多了一个server.crt文件,

这就是签名以后的服务器证书。

打开浏览器把ca的证书(ca.crt)导入浏览器。

五,生成
client.key

openssl
genrsa -out client.key 1024

生成客户证书
client.crt

openssl req -new -key client.key -out client.csr

将client.crt转换为 .pfx 格式的证书

openssl x509 -req -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out client.crt

将client.crt转换为 .pfx 格式的证书

openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

双击client.p12将其导入浏览器。

六,配置httpd.conf

LoadModule
ssl_module modules/mod_ssl.so

  1. <VirtualHost _default_:443>
  2. ServerAdmin crm.xiaolong.com
  3. DocumentRoot /var/www
  4. LogLevel warn
  5. ErrorLog /var/log/apache2/error.log
  6. CustomLog /var/log/apache2/ssl_access.log combined
  1. SSLEngine on
  2. SSLCertificateFile    /etc/apache2/CA/server.crt
  3. SSLCertificateKeyFile /etc/apache2/CA/server.key
  4. SSLCACertificateFile /etc/apache2/CA/ca.crt
  5. SSLVerifyClient require
  6. SSLVerifyDepth 10
  7. </VirtualHost>

到这里就配置完成了,重启apache就可以访问

转载:http://blog.csdn.net/passwordport/article/details/8005292

linux ssl 双向认证的更多相关文章

  1. Linux SSL 双向认证 浅解

    请求方的操作:此步骤是为了验证CA的发证过程. 1.生成私钥:     Openssl genrsa 1024 > private.key  生成私钥并保存到private.key文件中    ...

  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. [转]Java初始化顺序总结 - 静态变量、静态代码块、成员变量、构造函数

    Java初始化顺序1在new B一个实例时首先要进行类的装载.(类只有在使用New调用创建的时候才会被java类装载器装入)2,在装载类时,先装载父类A,再装载子类B3,装载父类A后,完成静态动作(包 ...

  2. java Future模式

    Java多线程编程中,常用的多线程设计模式包括:Future模式.Master-Worker模式.Guarded Suspeionsion模式.不变模式和生产者-消费者模式等.这篇文章主要讲述Futu ...

  3. Python IDLE中实现清屏

    首先下载clearwindow.py(点击可直接下载,不能下载的可以右键保存,格式为py结尾)将这个文件放在Python X\Lib\idlelib目录下(X为你的python版本),然后在这个目录下 ...

  4. JavaScript 小技巧汇总

    判断一个变量是否申明 if (typeof v === "undefined") { // ... } 判断一个变量是否是函数 function f() {} typeof f / ...

  5. WebSphere MQ 入门指南【转】

    WebSphere MQ 入门指南 转自 WebSphere MQ 入门指南 - 大CC - 博客园http://www.cnblogs.com/me115/p/3456407.html 这是一篇入门 ...

  6. WiresShark 使用方法

    Wireshark(前称Ethereal)是一款功能强大的网络抓包分析工具,在我的工作中是不可或缺的一部分工具,往往在网络出现异常时,查看网络中的数据包,会豁然开朗.1.菜单栏  主菜单包括以下几个项 ...

  7. vm lxc

    taxonomy, 有4种: 进程虚拟机:1.相同指令集(wine),2.不同指令集(java)系统虚拟机:3.相同指令集(kvm),4.不同指令集(qemu) 第4种又可分为直接运行于硬件之上(xe ...

  8. 利用线程把文本文件填充到richTextBox;防止导入大文本文件窗口假死现象

    private void btnDr_Click(object sender, EventArgs e) { richTextBox1.Text = ""; //richTextB ...

  9. android4.0蓝牙使能的详细解析(转)

    源:http://www.cnblogs.com/xiaochao1234/p/3818193.html 本文详细分析了android4.0 中蓝牙使能的过程,相比较android2.3,4.0中的蓝 ...

  10. POJ 3254 Corn Fields(状态压缩)

    一道状态压缩的题,错了好多次....应该先把满足的情况预处理出来 #include<iostream> #include<cstdio> #include<cstring ...