1、首先需要安装openssl,一个开源的实现加解密和证书的专业系统。在centos下可以利用yum安装。

2、openssl的配置文件是openssl.cnf,我们一般就是用默认配置就可以。如果证书有特殊要求的话,可以修改配置适应需求。这样必须把相关的文件放到配置文件指定的目录下面。

3、首先需要利用openssl生成根证书,以后的服务器端证书或者客户端证书都用他来签发,可以建立多个根证书,就像对应不同的公司一样

#生成根证书的私钥

openssl genrsa -out /home/lengshan/ca.key

  #利用私钥生成一个根证书的申请,一般证书的申请格式都是csr。所以私钥和csr一般需要保存好

openssl req -new -key /home/lengshan/ca.key -out /home/lengshan/ca.csr

  #自签名的方式签发我们之前的申请的证书,生成的证书为ca.crt

openssl x509 -req -days 3650 -in /home/lengshan/ca.csr -signkey /home/lengshan/ca.key -out /home/lengshan/ca.crt

  #为我们的证书建立第一个序列号,一般都是用4个字符,这个不影响之后的证书颁发等操作

echo FACE > /home/lengshan/serial

  #建立ca的证书库,不影响后面的操作,默认配置文件里也有存储的地方

touch /home/lengshan/index.txt

  #建立证书回收列表保存失效的证书

openssl ca -gencrl -out /home/lengshan/ca.crl -crldays 7

已上就完成了根证书的相关操作,下一步可以颁发证书了。

4、生成和签发服务器身份验证证书,注意证书是自签名的,浏览器会提示不受信任

#建立服务器验证证书的私钥

openssl genrsa -out /home/lengshan/server.key

  #生成证书申请文件

openssl req -new -key /home/lengshan/server.key -out /home/lengshan/server.csr

  #利用根证书签发服务器身份验证证书

openssl ca -in /home/lengshan/server.csr -cert /home/lengshan/ca.crt -keyfile /home/lengshan/ca.key -out /home/lengshan/server.crt

至此,服务器端身份认证证书已经完成,可以利用证书和私钥生成pfx格式的证书给微软使用,命令如下:

openssl pkcs12 -export -clcerts -in /home/lengshan/server.crt -inkey /home/lengshan/server.key -out 

5、签发客户端身份认证证书

  #生成私钥

openssl genrsa -des3 -out /home/lengshan/users/1/1.key 1024

  #生成证书请求文件

openssl req -new -key /home/lengshan/users/1/1.key -out /home/lengshan/users/1/1.csr

  #签发证书

openssl ca -in /home/lengshan/users/1/1.csr -cert /home/lengshan/ca.crt -keyfile /home/lengshan/users/1/1.crt

  #生成pfx格式

openssl pkcs12 -export -clcerts -in /home/lengshan/users/1/1.crt -inkey /home/lengshan/users/1/1.key -out /home/lengshan/users/1/1.p12

客户端证书完成,注意如果在web服务器上使用客户端证书,需要在web服务器上使用根证书对客户端进行验证,切记!

linux下利用openssl来实现证书的颁发(详细步骤)的更多相关文章

  1. linux下利用openssl来实现证书的颁发(详细步骤)--转载和修改

    原文地址:http://www.cnblogs.com/firtree/p/4028354.html linux下利用openssl来实现证书的颁发(详细步骤) 1.首先需要安装openssl,一个开 ...

  2. Linux下生成openssl自签名证书

    校验证书是否被 CA 证书签名,正确的情况: $ openssl verify -CAfile /etc/kubernetes/cert/ca.pem /etc/kubernetes/cert/kub ...

  3. linux下ftp(vsftpd)添加用户及设置权限详细步骤

    1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test2.建用户:在root用户下:useradd test //增加用户test,并制定test用户的主目录为/hom ...

  4. linux下Tomcat+OpenSSL配置单向&双向认证(自制证书)

    背景 由于ios将在2017年1月1日起强制实施ATS安全策略,所有通讯必须使用https传输,本文只针对自制证书,但目前尚不确定自制证书是否能通过appstore审核. 1.必须支持传输层安全(TL ...

  5. 利用openssl构建根证书-服务器证书-客户证书

    利用openssl构建根证书-服务器证书-客户证书 OpenSSL功能远胜于KeyTool,可用于根证书,服务器证书和客户证书的管理 一.构建根证书 1.构建根证书前,需要构建随机数文件(.rand) ...

  6. 使用c语言实现在linux下的openssl客户端和服务器端编程

    使用c语言实现在linux下的openssl客户端和服务器端编程 摘自:https://www.cnblogs.com/etangyushan/p/3679457.html 前几天组长让我实现一个使用 ...

  7. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  8. linux下利用elk+redis 搭建日志分析平台教程

    linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm   elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...

  9. 嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误

    嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误 2015-05-27 14:19 184人阅读 评论(0) 收藏 举报  分类: 嵌入式(928)  一般察看函数运行时堆栈的 ...

随机推荐

  1. php内存管理

    1.为什么需要内存管理 由于计算机的内存由操作系统进行管理,所以普通应用程序是无法直接对内存进行访问的, 应用程序只能向操作系统申请内存,通常的应用也是这么做的,在需要的时候通过类似malloc之类的 ...

  2. ODBC方式连接Informix数据库

    公司某个报表系统使用Informix数据库,在谋划使用Perl语言写数据采集程序后,花费了很多时间建立Perl访问Informix连接.恰巧Windows下ActivePerl的CPAN中又没有DBD ...

  3. TDirectory.GetFileSystemEntries获取指定目录下的目录和文件

    使用函数: System.IOUtils.TDirectory.GetFileSystemEntries 所有重载: class function GetFileSystemEntries(const ...

  4. STM32启动过程--启动文件--分析

    一.概述 1.说明 每一款芯片的启动文件都值得去研究,因为它可是你的程序跑的最初一段路,不可以不知道.通过了解启动文件,我们可以体会到处理器的架构.指令集.中断向量安排等内容,是非常值得玩味的. ST ...

  5. 分页加查询的sql语句

    "SELECT TOP(@pagesize) * FROM T_News WHERE(NewsTitle LIKE @newskey OR NewsContent LIKE @newskey ...

  6. OpenTSDB案例总结

    加宽行可增加扫描速度 采用组合rowkey,利用数据本地性加快扫描 少数宽行,并不比多数窄行节省空间 缩短Column family 和 column的名字 合并若干列.

  7. Android手机上监听短信的两种方式

    Android手机上监听短信有两种方式: 1. 接受系统的短信广播,操作短信内容. 优点:操作方便,适合简单的短信应用. 缺点:来信会在状态栏显示通知信息. AndroidManifest.xml: ...

  8. 关于 OneAPM Cloud Test DNS 监控的几个重要问题

    你注意到了吗?OneAPM Cloud Test 已经全面开启支持 DNS 监控了! CT 产品自上线以来一直致力于产品完善,希望能够尽可能全面地满足用户需求,为您提供完美的用户体验.目前 Cloud ...

  9. ruby字符串相关方法

    构造字符串字面量 方法一:最简单的使用单引号或者双引号括起来的字符串,比如"hello". 方法二:使用%q配合分界符,%q代表单引号str=%q!he/lo! 方法三:使用%Q配 ...

  10. 2-3 tree使用

    The 2-3 tree is also a search tree like the binary search tree, but this tree tries to solve the pro ...