用OpenSSL命令行生成证书文件

1.首先要生成服务器端的私钥(key文件):

openssl genrsa -des3 -out server.key 1024

运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!

去除key文件口令的命令:

openssl rsa -in server.key -out server.key

2.设置证书请求(csr文件)

openssl req -new -key server.key -out server.csr -config openssl.cnf

生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.

后面的-config 可以不加,也可以像“/etc/sbin/opensslcnf”加载路径。

然后需要输入下列信息:

Country Name: cn 两个字母的国家代号

State or Province Name: An Hui 省份名称

Locality Name: Bengbu 城市名称

Organization Name: Family Network 公司名称

Organizational Unit Name: Home 部门名称

Common Name: Chen Yang 你的姓名

Email Address: sunstorm@263.net Email地址

生成 ca.crt 文件,将文件属性改为400,并放在安全的地方

3.生成客户端的公钥:

openssl genrsa -des3 -out client.key 1024

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

4.自签发CA签名。CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱。

openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:

Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

client使用的文件有:ca.crt,client.crt,client.key

server使用的文件有:ca.crt,server.crt,server.key

大体步骤就是这些,也可以利用某些工具

有一个工具可以使用:http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz  步骤参见http://blog.csdn.net/cangzhubai/article/details/5214749

生成密钥也可用keytool,生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书,网址http://www.blogjava.net/duanzhimin528/archive/2010/06/22/324182.html

以下是自己理解的,不对的请留言,我好改正。

简单点理解就是创建私钥,通过私钥生成证书请求文件,自己或机构认证,签署证书,拷贝到服务器配置文件中生效。

也可以服务器和客服端都认证,这就是某些密钥要生成两遍的原因,这样更安全,有点像支付宝安全插件。

openssl是加密程序的集合体,

apache产生http,及网页的浏览,你也可以用mini-http及https

mod-ssl是apache的插件,但是独立发行,他里面有一个sign.sh,在phg.contrib目录中,对openssl生成的私钥进行加密,也可用openssl自带的一个CA.sh来签证书。

顺便说一句openssl还是很强大的加密工具,相对密码学有深入理解的可以好好看看源代码。

本来是解决mini-http安装后,为什么不要输入密码就直接看到网页的问题,看了一天只弄清楚这个。mini-http问题求前辈指教。

用OpenSSL命令行生成证书文件的更多相关文章

  1. 如何用openssl命令行生成证书

    老大要我在web server里面加上https功能,可是但就使用openssl生成证书就耗费了我两天时间,网上有很多相关的资料,但是都写的很复杂, 照着他们的来,还是走了很多弯路. 我总结一下,步骤 ...

  2. stylus安装以及使用命令行生成css文件

    Stylus 是一个CSS的预处理框架,2010年产生,来自Node.js社区,主要用来给Node项目进行CSS预处理支持,所以 Stylus 是一种新型语言,可以创建健壮的.动态的.富有表现力的CS ...

  3. Beyond Compare 命令行生成目录下所有文件比对的Html网页report

    MAC环境下,使用Beyond Compare命令行生成两个文件夹差异的html,按目录递归生成. #1. 创建compare #2. 创建compare/old #3. compare/new #4 ...

  4. 利用keytool、openssl生成证书文件

    转载请标明出处:http://blog.csdn.net/shensky711/article/details/52225073 本文出自: [HansChen的博客] 用openssl指令逐步生成各 ...

  5. openssl命令行工具简介 - 指令x509

    原文链接: http://blog.csdn.net/allwtg/article/details/4982507 openssl命令行工具简介 - 指令x509 用法:           open ...

  6. 使用curl在命令行中下载文件

    http://m.blog.csdn.net/blog/mayadong7349/7019208 使用curl在命令行中下载文件 linux下curl简单应用详解 http://blog.sina.c ...

  7. 《Entity Framework 6 Recipes》中文翻译系列 (40) ------ 第七章 使用对象服务之从跟踪器中获取实体与从命令行生成模型(想解决EF第一次查询慢的,请阅读)

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-5  从跟踪器中获取实体 问题 你想创建一个扩展方法,从跟踪器中获取实体,用于数 ...

  8. Visual Studio命令行创建库文件lib

    Visual Studio命令行创建库文件lib OS:win7 旗舰版SP1 64位 编译器: VS 2013 express 的cl 建一个文件Static_Lib.h,源代码如下 #ifndef ...

  9. 用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书)

    用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书) 来源: https://www.cnblogs.com/osnosn/p/10597897.html 来自osnosn的博客 ...

随机推荐

  1. 【转】.gitignore失效的解决办法

    转自:http://foreverdo.diandian.com/post/2012-09-20/40038034798 How to make .gitignore works? Just got ...

  2. byte数组转float实现与byte转换其它类型时进行&运算原理

    下面是将byte数组转换为float的实现 public static float getFloat(byte[] b) { int accum = 0; accum = accum|(b[0] &a ...

  3. 《Linux内核设计与实现》第5章读书笔记

    第五章 系统调用 一.系统调用概述 系统调用在Linux中称为syscall,返回的值是long型变量:如果出错,C库会将错误代码写入errno全局变量(通过调用perror()函数可以把该变量翻译成 ...

  4. 安装lighttpd

    依赖包: zlib,pcre,cronolog,bzip2, 1: 将lighttpd的原码包.以土豆现用lighttpd配置文件为基础的lighttpd.conf文件.日志轮循工具cronolog  ...

  5. vs下取得资源文件中的版本信息

    在Windows Mobile和Wince(Windows Embedded CE)下开发的产品,有时候需要显示当前产品的版本信息.一般来说,版本信息是保存在资源文件里面的,例如下图: 为了保持一致, ...

  6. bzoj3205 [Apio2013]机器人

    3205: [Apio2013]机器人 Time Limit: 15 Sec  Memory Limit: 128 MBSubmit: 953  Solved: 227[Submit][Status] ...

  7. Codeforces 717.F Heroes of Making Magic III

    F. Heroes of Making Magic III time limit per test 3 seconds memory limit per test 256 megabytes inpu ...

  8. bzoj4715 囚人的旋律

    4715: 囚人的旋律 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 74  Solved: 48[Submit][Status][Discuss] ...

  9. swagger2的常用注解,传递参数的注意使用方法

    背景介绍: 刚开始的时候,在controller层使用@RequestParam的时候,发现这个参数是必须要输入值的,但是我们有时候必须查询的时候允许参数为空,使用这个注解就不行了. 在集成了swag ...

  10. ural 1297 后缀数组 最长回文子串

    https://vjudge.net/problem/URAL-1297 题意: 给出一个字符串求最长回文子串 代码: //论文题,把字符串反过来复制一遍到后边,中间用一个没出现的字符隔开,然后就是枚 ...