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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux cpu核数和线程数,cpu个数、核数和线程的理解

1.查看物理cpu个数grep physical id /proc/cpuinfo | sort -u | wc -l2.查看核心数量grep core id /proc/cpuinfo | sort -u | wc -l3.查看线程数grep processor /proc/cpuinfo | sort -u | wc -lcat /proc/cpuinfo 查看文件里面关键信息processor : 23 ----------代表…

linux设置超链接,帮助-链接 - Linux Kernel Newbies

this page is outdated and needs to be fixed参考链接形式语法备注内部链接WikiNameCamelCase page name内部自由链接["Page"] or ["free link"]可配置函数内部子页面链接/SubPage or ["/Sub page"]相对于上一级页面外部链接http://example.net…

linux 文件系统cache,终于找到一篇详解Linux文件系统Cache的文章

级别: 初级2006 年 5 月 11 日文件 Cache 管理是 Linux 内核中一个很重要并且较难理解的组成部分。本文详细介绍了 Linux内核中文件 Cache 管理的各个方面,希望能够对开发者理解相关代码有所帮助。自从诞生以来,Linux 就被不断完善和普及&…

宝塔Linux怎么安装Mariadb,如何在linux上面安装mariadb总结

1、下载MariaDB(mariadb-5.5.31.tar.gz)[rootzabbix_server opt]# wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz2、安装MariaDB[rootzabbix_server opt]# tar xzvf mariadb-5.5.31.tar.gz[rootzabbix_server cmake-2.8.5]# cd cmake-2.8.5[rootzabbix_server cmak…

c语言数码管加法程序怎么写,拜托大神写数码管与矩阵键盘结合设计简易计算器C语言的程序...

我和你用的是一样的,给你一个我买板子送的矩阵程序//4*4键盘检测程序,按下键后相应的代码显示在数码管上#includesbit beepP2^3;sbit dulaP2^6;sbit welaP2^7;unsigned char i100;unsigned char j,k,temp,key;void delay(unsigned char i){for(ji;j>0;j--)for(k1…

七桥问题c语言程序数据结构,数据结构与算法学习——图论

什么是图?在计算机程序设计中,图结构也是一种非常常见的数据结构但是图论其实是一个非常大的话题图结构是一种与树结构有些相似的数据结构图论是数学的一个分支,并且在数学概念上,树是图的一种它以图为研究对象,研究顶…

c语言式表白,c语言表白必备

c语言表白必备七夕情人节表白必备,多颜色心形展示看图#include#include#include#include #define r 10#define R 172int main(){int i;printf("我");fflush(stdout); //强制刷新缓存,输出显示Sleep(1000);printf("自");fflush(stdou…

《c#编程语言详解》,C#编程语言详解(第2版)

前言前 言C#项目启动于七年前——1998年12月,其目标是为全新的并命名为.NET的平台创建一种简单、现代、面向对象和类型安全的程序设计语言。从那时起,C#已经走过了漫长的道路。现在,成千上万的程序员在使用C#语言;ECMA和ISO/IEC已…

明解c语言中级篇微盘,明解C语言:中级篇

第1章 猜数游戏  11-1 猜数判定  2通过if语句实现条件分支  2if语句的嵌套  3实现多分支的方法  41-2 重复到猜对为止  8通过do语句循环  8相等运算符和关系运算符  9通过while语句循环  10break语句  10while语句和do语句  11先判断后循环和先循环后…

共同体不是c语言中的一个数据类型,《c语言程序设计教学资料》第12章---构体和共同体.ppt...

《c语言程序设计教学资料》第12章---构体和共同体向函数传递结构体 用结构体指针或结构体数组作为函数参数,向函数传递结构体的地址 按值调用 按地址调用 结构体变量作函数参数 实现按值调用 结构体指针作函数参数 从函数返回 结构体变量的值 共用体 共用体所占内存…

android中gradle的作用,Gradle 之 Android 中的应用

在上一篇文章中 Gradle 之语言基础 Groovy 主要介绍了 Groovy 的基础语法(如果没有 Groovy 的基础,建议先看看上篇文章,如果可以动手敲一下里面的示例代码就更好不过了),也是为本篇文章打基础的。本篇文章主要介绍 Gradle 在 Android 中的应用…

android程序更改pdf文件格式,Android根据pdf模板生成pdf文件

1 public voidFillPdfTemplate(String id) {2 android.icu.text.SimpleDateFormat simpleDateFormat 3 new android.icu.text.SimpleDateFormat("HHmmss");//HH:mm:ss4 //设置默认时区5 simpleDateFormat.setTimeZone(android.icu.util.TimeZone.getTimeZone("G…

android页面跳转时获取地址栏,Android 利用scheme页面内跳转协议进行跳转

什么是 URL Scheme?android中的scheme是一种页面内跳转协议。通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转到APP内部页面。之前项目都是我们客户端和服务器端用自定义j…

android按钮置于顶层,如何把按键显示在最顶层窗口上(屏幕最顶上)

[Delphi] 纯文本查看 复制代码unit Unit2;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;typeTForm2 class(TForm)procedure FormCreate(Sender: TObject);private{ …

android signalr 自动重连,.net-何时在signalR中重新连接?

当客户端脱机然后不久后重新获得连接时,就会发生集线器重新连接。 SignalR配置值在很大程度上决定了以下示例的时间戳,因此无需逐字记录时间。以下是一些示例及其涉及重新连接行为的结果(时间格式:m:ss):当我提到以下内…

自己写的android apk反编译,获取Android自己写好了的apk以及反编译

今天,我们先说一下,获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的,今天我们就以拿到Android自带的短信管理器的apk为例子你可能有疑问,为什么要那么麻烦,从系统来拿,还要反编译&#x…

一加7pro系统更新android10,一加OnePlus7T Pro官方安卓10.0稳定版出厂系统固件升级更新包...

咱们的这个一加OnePlus7T Pro手机的最新稳定版系统包也是在这里来分享一下了,这个稳定版本的系统包是安卓10稳定版的,也是第一个版本的,系统包大小是3.2G,系统方面主要是全新的UI设计,轻快流畅操作体验,更多…

5元素升级android6,升级你的app以支持高长宽比的新旗舰

为了呈现更好的视觉效果,许多安卓OEM厂商都开始采用超大屏幕。三星刚刚发布了自己的新旗舰Samsung Galaxy S8,长宽比达到18.5:9。今年早些时候的全球移动大会上LG也亮相了 LG G6,屏幕长宽比达到了18:9。(左) maximum aspect ratio为16:9的app…

CCS太阳光准直系统使用积分球均匀光源

CCS太阳光准直系统的应用范围广泛,包括太阳光辐射测量、光学遥感仪器研制与标定、均匀光源的推广使用等方面。通过使用CCS太阳光准直系统,可以准确地模拟太阳光,并对各种光学仪器进行校准和标定,从而提高测量精度和稳定性。 CCS太…

js怎么制作html的主题,用HTML和CSS以及JS制作简单的网页菜单界面的代码

写ABROAD项目用到了标签这个东东,其实标签在WEB上到处可见,图中就依次显示了DCC文章发布器、ABROAD后台添加数据、百度图片搜索、sf发布博客文章时贴标签的样式——标签就像浏览器里原生的checkbox一样,不过checkbox实在太丑了,就…