linux下使用openssl生成 csr crt CA证书,opensslcsr

本文主要借鉴和引用了下面2个地址的内容,然后在自己的机器上进行了测试和执行,并做了如下记录。

ref:

http://blog.chinaunix.net/uid-26760055-id-3128132.html

http://www.111cn.net/sys/linux/61591.htm

创建测试目录

mkdir /tmp/create_key/ca

cd /tmp/create_key/

证书文件生成:

一.服务器端

1.生成服务器端    私钥(key文件);

openssl genrsa -des3 -out server.key 1024

运行时会提示输入密码,此密码用于加密key文件(参数des3是加密算法,也可以选用其他安全的算法),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果不要口令,则去除口令:openssl rsa -in server.key -out

server.key

2.生成服务器端    证书签名请求文件(csr文件);

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

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

二.客户端

1.生成客户端     私钥(key文件);

openssl genrsa -des3 -out client.key 1024

2.生成客户端

证书签名请求文件(csr文件);

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

cd  /tmp/create_key/ca

三.生成CA证书文件

#server.csr与client.csr文件必须有CA的签名才可形成证书.

1.首先生成CA的key文件:

openssl genrsa -des3 -out ca.key 1024

2.生成CA自签名证书:

openssl req -new -x509 -key ca.key -out ca.crt

可以加证书过期时间选项 "-days 365".

四.利用CA证书进行签名

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

openssl

ca -in ../client.csr -out ../client.crt -cert ca.crt -keyfile ca.key

这两条执行的时候因为没有指定openssl.cnf

会报错,不过没关系,我们用默认的 /etc/pki/tls/openssl.cnf 就可以。

不过用默认的时候需要先执行下面两行:

touch

/etc/pki/CA/index.txt

echo

00 > /etc/pki/CA/serial

下面有错误案例分析

#############################################################

根据server.csr 通过CA的ca.crt

ca.key  生成server.crt文件

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

Using configuration from /etc/pki/tls/openssl.cnf

Enter pass phrase for ca.key:

/etc/pki/CA/index.txt: No such file or directory

unable to open '/etc/pki/CA/index.txt'

140423531685704:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('/etc/pki/CA/index.txt','r')

140423531685704:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:

[root@monitor ca]# touch /etc/pki/CA/index.txt             #创建index文件,因为不存在

[root@monitor ca]# openssl ca -in ../server.csr -out ../server.crt -cert ca.crt -keyfile ca.key

Using configuration from /etc/pki/tls/openssl.cnf

Enter pass phrase for ca.key:

/etc/pki/CA/serial: No such file or directory

error while loading serial number

139949960836936:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('/etc/pki/CA/serial','r')

139949960836936:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:

[root@monitor ca]# echo 00 > /etc/pki/CA/serial                 #创建serial号文件

[root@monitor ca]# openssl ca -in ../server.csr -out ../server.crt -cert ca.crt -keyfile ca.key

Using configuration from /etc/pki/tls/openssl.cnf

Enter pass phrase for ca.key:

Check that the request matches the signature

Signature ok

The organizationName field needed to be the same in the

CA certificate (homelink-ca) and the request (homelink)

#此处报错是因为创建CA的ca.crt 时候 和创建server的server.csr时候

#Organization Name (eg, company) [Default Company Ltd]:homelink-ca  和

#Organization Name (eg, company) [Default Company Ltd]:homelink

#配置的不再一个域,所以不行,下面重建ca.crt

[root@monitor ca]# openssl req -new -x509 -key ca.key -out ca.crt

Enter pass phrase for ca.key:

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [XX]:CN

State or Province Name (full name) []:bj

Locality Name (eg, city) [Default City]:bj

Organization Name (eg, company) [Default Company Ltd]:homelink

Organizational Unit Name (eg, section) []:homelink-lft

Common Name (eg, your name or your server's hostname) []:lft

Email Address []:

[root@monitor ca]# ls -lrt

total 8

-rw-r--r-- 1 root root 963 May 22 14:39 ca.key

-rw-r--r-- 1 root root 944 May 22 16:16 ca.crt

#重新创建ca.crt后,重新执行,生成成功

[root@monitor ca]# openssl ca -in ../server.csr -out ../server.crt -cert ca.crt -keyfile ca.key

Using configuration from /etc/pki/tls/openssl.cnf

Enter pass phrase for ca.key:

Check that the request matches the signature

Signature ok

Certificate Details:

Serial Number: 0 (0x0)

Validity

Not Before: May 22 08:16:25 2015 GMT

Not After : May 21 08:16:25 2016 GMT

Subject:

countryName = CN

stateOrProvinceName = bj

organizationName = homelink

organizationalUnitName = homelink-lft

commonName = lft

X509v3 extensions:

X509v3 Basic Constraints:

CA:FALSE

Netscape Comment:

OpenSSL Generated Certificate

X509v3 Subject Key Identifier:

00:2C:34:0A:73:5C:1A:E6:39:48:28:6F:8F:02:F6:BC:58:6F:25:55

X509v3 Authority Key Identifier:

keyid:83:70:9D:4E:3F:39:01:3E:7A:CE:B9:2B:0E:1A:FB:00:2A:C3:11:D9

Certificate is to be certified until May 21 08:16:25 2016 GMT (365 days)

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

[root@monitor ca]# ls -lrt

total 8

-rw-r--r-- 1 root root 963 May 22 14:39 ca.key

-rw-r--r-- 1 root root 944 May 22 16:16 ca.crt

[root@monitor ca]# ls -lrt ..

total 28

-rw-r--r-- 1 root root 963 May 22 13:51 server.key

-rw-r--r-- 1 root root 672 May 22 13:52 server.csr

-rw-r--r-- 1 root root 963 May 22 14:36 client.key

-rw-r--r-- 1 root root 672 May 22 14:37 client.csr

drwxr-xr-x 2 root root 4096 May 22 14:40 ca

-rw-r--r-- 1 root root 238 May 22 15:07 readme.txt

-rw-r--r-- 1 root root 3036 May 22 16:16 server.crt

#然后生成客户端的client.crt 文件

openssl ca -in ../client.csr -out ../client.crt -cert ca.crt -keyfile ca.key

linux 运行ca.crt,linux下使用openssl生成 csr crt CA证书,opensslcsr相关推荐

  1. ca证书 csr_linux下使用openssl生成 csr crt CA证书

    证书文件生成: 一.服务器端 1.生成服务器端    私钥(key文件); openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加密ke ...

  2. iOS开发——openssl生成CSR (pkcs10) 请求证书

    由于涉及在线开户相关,所以整理一下~ 本文在前人的基础上更加完善:通过openssl 生成证书请求CSR  符合pkcs10的语法规范 为客户端生成,代码为C语言,可以直接在xcode的中于objec ...

  3. crt证书linux使用,linux下使用openssl生成https的crt和key证书

    x509证书一般会用到三类文,key,csr,crt Key 是私用密钥openssl格,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时,必须使用自己的私钥来签署申,还 ...

  4. openssl生成证书linux,Linux下使用openssl生成证书

    利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...

  5. Linux下使用OpenSSL生成证书

    Linux下使用OpenSSL生成证书 安装OpenSSL 直接用apt或者yum安装即可 生成服务器端的私钥(key文件) $ openssl genrsa -des3 -out server.ke ...

  6. Windows下使用OpenSSL生成自签证书(亲测)

    一,前言 经常写博客的小伙伴儿都知道,大家一般在前言里面会提到为什么写这篇博客,而我这篇博客 主要是探讨OpenSSL自签名证书,用于对安全性要求比较高的商业活动.. 二,探讨前景: 生成一对 RSA ...

  7. 使用OpenSSL生成CSR文件,并申请全球通用SSL证书

    使用OpenSSL生成CSR文件,并申请全球通用SSL证书 http://www.openssl.org 上只有OpenSSL的原代码下载,为了方便Windows用户使用OpenSSL,我们特地为您准 ...

  8. linux生成cer证书_Linux下使用openssl生成证书

    利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...

  9. python可以在linux运行_在linux运行python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! linux下编译安装python3与python2共存linux下默认系统自带p ...

最新文章

  1. 【Qt中文手册】QObject
  2. 量子技术新突破!科学家完美实现将单个原子逐一嵌入硅晶片
  3. endnote x9打开闪退_最新最全!Endnote X9完美使用方法
  4. 10-排序6 Sort with Swap(0, i) (25 分)
  5. PPT下载下来是php,用php下载jpg,doc,ppt文件已损坏
  6. python正则表达式怎么看_python如何使用正则表达式
  7. 利用函数求两个数的最大值
  8. 进阶 2 日期时间类
  9. 【Linux系统】部分基础命令手册
  10. 最新PP点点通V2008简体中文版免费下载
  11. 解构淘宝SPM/SCM流量跟踪体系
  12. [源码和报告分享]基于Java的局域网聊天工具
  13. 遇到from playsound import playsoundModuleNotFoundError: No module named ‘playsound‘解决办法
  14. JS实现四舍五入保留两位小数
  15. 关于144hz屏幕观看网页视频时存在黑屏屏闪
  16. 聊天机器人chatbot搭建及思考(TensorFlow)(附代码)
  17. 驾考一点通维语版_【驾考宝典下载】2020官方最新_电脑版手机版维语版 - 驾考宝典...
  18. Android 加速度传感器的使用详解
  19. 【操作系统】30天自制操作系统--(14)多任务1
  20. TCL电视无法开机,如何强制黑屏刷机教程分享

热门文章

  1. 阿里的盔甲、未来20年发展的动力以及对未来的洞察
  2. 无公网域名,使用ngrok开启反向代理,实现公网域名访问本地项目
  3. Linux Shell脚本专栏_Linux系统发送告警邮件脚本_02
  4. 工作流实战_21_flowable 加签 任务向前加签 向后加签
  5. 今天的作业 --- 去重
  6. 保证一致性吗_RabbitMQ消息一致性:重要消息,请设置持久化
  7. 爬虫学习日记 Day1 开始爬虫
  8. android 获取通讯录全选反选_Xamarin.Forms读取并展示Android和iOS通讯录 TerminalMACS客户端...
  9. linux java文件 core_linux下部署.net core/java
  10. GPUImage – 色阶 GPUImageLevelsFilter