天天看點

CentOS 6使用openssl搭建根CA

點選打開連結

一、簡介

    OpenSSL是一款開源的加密工具,在Linux環境下,我們能夠利用它來搭建一個CA來實作證書的發放,可以用于企業内部使用的加密工具,下面是用OpenSSL這個強大的工具,在Linux下建構一個CA,來實作證書管理。

二、搭建

1、我們首先看一下CA的目錄結構

[[email protected] ~]# tree /etc/pki/CA

/etc/pki/CA

├── certs

├── crl

├── newcerts

└── private

下面我會講解兩種方法,一種是使用指令openssl,還有一直是使用Makefile檔案生成(用紫色标示)

Makefile在目錄/etc/pki/tls/certs下,在開始之前,為了不頻繁的輸入申請認證的一些資訊,我們對openssl.cnf檔案下面進行一些修改

# vim /etc/pki/tls/openssl.cnf

CentOS 6使用openssl搭建根CA

2、切換到/etc/pki/CA/目錄,使用openssl指令給自己生成一個私鑰

[[email protected] ~]# cd /etc/pki/CA/              

[[email protected] CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)

Generating RSA private key, 2048 bit long modulus

.......................+++

.........................................................+++

e is 65537 (0x10001)

(以上還可以使用以下操作,切換到/etc/pki/tls/certs目錄下面,運作# make cakey.pem)

  .pem的證書私鑰和公鑰都在同一個檔案,如果想檢視私鑰對應的公鑰,可以使用如下指令

# openssl rsa -in private/cakey.pem -pubout

CentOS 6使用openssl搭建根CA

3、CA需要一個自簽證書,是以我們給它使用openssl指令生成一個自簽證書

[[email protected] CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655

CentOS 6使用openssl搭建根CA

以上資訊請根據自己的實際情況進行填寫,接下來我們可以檢視生成的證書

# cat cacert.pem

CentOS 6使用openssl搭建根CA

但是從中我們看不到什麼資訊,下面我們可以通過openssl檢視

# openssl x509 -text -in cacert.pem

CentOS 6使用openssl搭建根CA

4、建立CA的相關目錄和檔案,指定序列号起始數字,它們在CA所在目錄建立

# touch index.txt serial crlnumber

CentOS 6使用openssl搭建根CA

# echo 01 > serial

到目前我們自建的CA頒發機構就已經搭建完成了,下一步我們為其他申請進行證書簽發操作

三、證書的申請簽署

1、我們以用戶端身份進行證書申請,首先我們應該先建立自己的私鑰

# (umask 077; openssl genrsa -out client.key 1024)

CentOS 6使用openssl搭建根CA

2、用戶端如果想申請獲得證書的話,需要建立一個申請證書,傳遞給CA

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

CentOS 6使用openssl搭建根CA

csr: Certificate Signing Request(證書簽發申請)

最後可以輸入密碼來進行證書申請的加密,我這裡不進行加密了,除Common Name、Email Address以外,以上所有值必須和CA憑證所填資訊保持一緻,否則無法得到驗證。

(以上還可以使用以下操作,切換到/etc/pki/tls/certs目錄下面,運作# make client.csr)

3、在CA端給用戶端頒發證書,使用openssl指令

# openssl ca -in client.csr -out client.crt -days 365

CentOS 6使用openssl搭建根CA

證書簽發成功,以上就是簽發的資訊

CentOS 6使用openssl搭建根CA

四、吊銷證書

# openssl ca -revoke client.crt

CentOS 6使用openssl搭建根CA

# cd /etc/pki/CA/

# cat index.txt

CentOS 6使用openssl搭建根CA

五、附錄

openssl中有如下字尾名的檔案

.key格式:私有的密鑰

.crt格式:證書檔案,certificate的縮寫

.csr格式:證書簽名請求(證書請求檔案),含有公鑰資訊,certificate signing request的縮寫

.crl格式:證書吊銷清單,Certificate Revocation List的縮寫

.pem格式:用于導出,導入證書時候的證書的格式,有證書開頭,結尾的格式

常用證書協定

x509v3: IETF的證書标準

x.500:目錄的标準

SCEP:  簡單證書申請協定,用http來進行申請,資料有PKCS#7封裝,資料其實格式也是PKCS#10的

PKCS#7:  是封裝資料的标準,可以放置證書和一些請求資訊

PKCS#10:  用于離線證書申請的證書申請的資料格式,注意資料包是使用PKCS#7封裝這個資料

PKCS#12:  用于一個單一檔案中交換公共和私有對象,就是公鑰,私鑰和證書,這些資訊進行打包,加密放在存儲目錄中,CISCO放在NVRAM中,使用者可以導出,以防證書伺服器挂掉可以進行相應恢複。思科是.p12,微軟是.pfx

一、簡介

    OpenSSL是一款開源的加密工具,在Linux環境下,我們能夠利用它來搭建一個CA來實作證書的發放,可以用于企業内部使用的加密工具,下面是用OpenSSL這個強大的工具,在Linux下建構一個CA,來實作證書管理。

二、搭建

1、我們首先看一下CA的目錄結構

[[email protected] ~]# tree /etc/pki/CA

/etc/pki/CA

├── certs

├── crl

├── newcerts

└── private

下面我會講解兩種方法,一種是使用指令openssl,還有一直是使用Makefile檔案生成(用紫色标示)

Makefile在目錄/etc/pki/tls/certs下,在開始之前,為了不頻繁的輸入申請認證的一些資訊,我們對openssl.cnf檔案下面進行一些修改

# vim /etc/pki/tls/openssl.cnf

CentOS 6使用openssl搭建根CA

2、切換到/etc/pki/CA/目錄,使用openssl指令給自己生成一個私鑰

[[email protected] ~]# cd /etc/pki/CA/              

[[email protected] CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)

Generating RSA private key, 2048 bit long modulus

.......................+++

.........................................................+++

e is 65537 (0x10001)

(以上還可以使用以下操作,切換到/etc/pki/tls/certs目錄下面,運作# make cakey.pem)

  .pem的證書私鑰和公鑰都在同一個檔案,如果想檢視私鑰對應的公鑰,可以使用如下指令

# openssl rsa -in private/cakey.pem -pubout

CentOS 6使用openssl搭建根CA

3、CA需要一個自簽證書,是以我們給它使用openssl指令生成一個自簽證書

[[email protected] CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655

CentOS 6使用openssl搭建根CA

以上資訊請根據自己的實際情況進行填寫,接下來我們可以檢視生成的證書

# cat cacert.pem

CentOS 6使用openssl搭建根CA

但是從中我們看不到什麼資訊,下面我們可以通過openssl檢視

# openssl x509 -text -in cacert.pem

CentOS 6使用openssl搭建根CA

4、建立CA的相關目錄和檔案,指定序列号起始數字,它們在CA所在目錄建立

# touch index.txt serial crlnumber

CentOS 6使用openssl搭建根CA

# echo 01 > serial

到目前我們自建的CA頒發機構就已經搭建完成了,下一步我們為其他申請進行證書簽發操作

三、證書的申請簽署

1、我們以用戶端身份進行證書申請,首先我們應該先建立自己的私鑰

# (umask 077; openssl genrsa -out client.key 1024)

CentOS 6使用openssl搭建根CA

2、用戶端如果想申請獲得證書的話,需要建立一個申請證書,傳遞給CA

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

CentOS 6使用openssl搭建根CA

csr: Certificate Signing Request(證書簽發申請)

最後可以輸入密碼來進行證書申請的加密,我這裡不進行加密了,除Common Name、Email Address以外,以上所有值必須和CA憑證所填資訊保持一緻,否則無法得到驗證。

(以上還可以使用以下操作,切換到/etc/pki/tls/certs目錄下面,運作# make client.csr)

3、在CA端給用戶端頒發證書,使用openssl指令

# openssl ca -in client.csr -out client.crt -days 365

CentOS 6使用openssl搭建根CA

證書簽發成功,以上就是簽發的資訊

CentOS 6使用openssl搭建根CA

四、吊銷證書

# openssl ca -revoke client.crt

CentOS 6使用openssl搭建根CA

# cd /etc/pki/CA/

# cat index.txt

CentOS 6使用openssl搭建根CA

五、附錄

openssl中有如下字尾名的檔案

.key格式:私有的密鑰

.crt格式:證書檔案,certificate的縮寫

.csr格式:證書簽名請求(證書請求檔案),含有公鑰資訊,certificate signing request的縮寫

.crl格式:證書吊銷清單,Certificate Revocation List的縮寫

.pem格式:用于導出,導入證書時候的證書的格式,有證書開頭,結尾的格式

常用證書協定

x509v3: IETF的證書标準

x.500:目錄的标準

SCEP:  簡單證書申請協定,用http來進行申請,資料有PKCS#7封裝,資料其實格式也是PKCS#10的

PKCS#7:  是封裝資料的标準,可以放置證書和一些請求資訊

PKCS#10:  用于離線證書申請的證書申請的資料格式,注意資料包是使用PKCS#7封裝這個資料

PKCS#12:  用于一個單一檔案中交換公共和私有對象,就是公鑰,私鑰和證書,這些資訊進行打包,加密放在存儲目錄中,CISCO放在NVRAM中,使用者可以導出,以防證書伺服器挂掉可以進行相應恢複。思科是.p12,微軟是.pfx

繼續閱讀