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.pswp.cn/news/530837.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530837.shtml
英文地址,請注明出處:http://en.pswp.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實在太丑了,就…