linux下apache openssl配置記錄

2021-09-07 12:45:39 字數 4493 閱讀 7754

軟體環境

此舉將安裝最新的openssl到/usr/local/ssl資料夾中。無需理會系統中已有版本號的openssl,也不要去解除安裝它,否則會導致非常多的應用程式無法正常執行,比如x窗體無法進入等錯誤。

此步驟在/apache/httpd資料夾中安裝httpd服務(通過引數--prefix指定)。同一時候使用--with-ssl指定剛才所安裝openssl的路徑,用於將mod_ssl靜態的編譯到httpd服務中。

3.製作證書

我們必須手工來生成ssl用到的證書。對證書不熟悉的人,有乙個工具能夠使用:  。以下是怎樣通過這個工具來生成證書的過程:

#./new-root-ca.sh (生成根證書)

no root ca key round. generating one

generating rsa private key, 1024 bit long modulus

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

....++++++

e is 65537 (0x10001)

enter pass phrase for ca.key:12345 (輸入乙個password)

verifying - enter pass phrase for ca.key: 12345(再輸入一次password)

......

self-sign the root ca... (簽署根證書)

enter pass phrase for ca.key:12345 (輸入剛剛設定的password)

........

........ (以下開始簽署)

country name (2 letter code) [my]:cn

state or province name (full name) [perak]:sd  //隨你喜歡

locality name (eg, city) [sitiawan]:qd  //隨你喜歡

organization name (eg, company) [my directory sdn bhd]:gx  //隨你喜歡

organizational unit name (eg, section) [certification services division]:gx  //隨你喜歡

common name (eg, md root ca) :gaoxin.com //隨你喜歡

email address :[email protected]//隨你喜歡

這樣就生成了ca.key和ca.crt兩個檔案,以下還要為我們的server生成乙個證書:

# ./new-server-cert.sh server (這個證書的名字是server)

......

......

country name (2 letter code) [my]:cn

state or province name (full name) [perak]:sd

locality name (eg, city) [sitiawan]: qd

organization name (eg, company) [my directory sdn bhd]:gx

organizational unit name (eg, section) [secure web server]:gx

common name (eg, www.domain.com) :gaoxiaoit.com (必須與上面的不同,否則報錯)

email address :[email protected]

這樣就生成了server.csr和server.key這兩個檔案。

還須要簽署一下才幹使用的:

# ./sign-server-cert.sh server

ca signing: server.csr -> server.crt:

using configuration from ca.config

enter pass phrase for ./ca.key:12345 (輸入上面設定的根證書password)

check that the request matches the signature

signature ok

the subject's distinguished name is as follows

countryname:printable:'cn'

stateorprovincename:printable:'gansu'

localityname:printable:'lanzhou'

organizationname:printable:'lzu'

organizationalunitname:printable:'lzu'

commonname:printable:'localhost'

emailaddress :ia5string:'[email protected]'

certificate is to be certified until jan 19 21:59:46 2011 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

ca verifying: server.crt <-> ca cert

server.crt: ok

配置conf/extr/httpd-ssl.conf

找到#include conf/extra/httpd-ssl.confm去掉凝視

以下要依照httpd-ssl.conf裡面的設定。將證書放在適當的位置。

然後就能夠啟動啦!

。這樣能夠訪問,可是瀏覽器每次訪問都要確定,並且提示不安全,這要把ca證書匯入瀏覽器的受信任列表裡。

然後就不會有不論什麼提示了。

接下來你可能須要雙向認證:

1.new-user-cert.sh user

common name 與上面要不同我這裡直接用的user

2.sign-user-cert.sh user

註冊完後事實上已經完畢,可是這裡還須要生成一種瀏覽器須要的格式

3.p12.sh user

這裡事實上是把user的crt和key合成了user.12

另外在http-ssl.conf內做例如以下配置

上面的配置對照服務端的認證就是我們須要將ca證書倒入瀏覽器信任列表。即把根證書給對方,接受信任

sslverifyclient require

sslverifydepth  10

這裡的配置對照服務端的認證就是我們在瀏覽器要輸入https,即告訴對方我要證書。

接下來最後一步。把生成的12檔案倒入瀏覽器就可以訪問。

(這裡相應的服務端認證就是我們把server的key和crt放入apache的指定路徑)

Linux下Redis下安裝

redis安裝 檢查是否安裝redis ps ef grep redis2.檢查gcc服務是否安裝成功 rpm qa grep gcc注 安裝成功則顯示 mkdir redis5.解壓redis安裝包 tar zxvf redis 2.8.17 tar.gz c usr local redis 解壓...

Linux下程式設計

windows下我的環境為 windows10 vs2015 opencv3.4.0 opencv3.4.0 contrib python linux下我的環境為 ubuntu16004 也有ubuntu1804 opencv3.4.0 opencv3.4.0 contrib python gnu ...

linux下萬用字元

萬用字元是一類鍵盤字元,有星號 和問號 當查詢檔案呀資料夾時,可以使用它來代替乙個或多個真正字元 當不知道真正字元或者不想建入完整名字時,常常使用萬用字元代替乙個或多個真正字元。星號 可以使用星號代替0個或多個字元。如果正在查詢以aew開頭的乙個檔案,但不記得檔名其餘部分,可以輸入aew,查詢以ae...