1. 程式人生 > >Linux+Apache2+openssl實現https驗證

Linux+Apache2+openssl實現https驗證

 首先安裝SSL,再編譯安裝APACHE,再配置證書即可

1.下載apache和openssl
網址:http://www.apache.org
      http://www.openssl.org
2.解壓
#tar zxvf httpd-2.0.54.tar.gz
#tar zxvf openssl-0.9.7g.tar.gz
3.編譯安裝openssl,這個軟體主要是用來生成證書:
#cd openssl-0.9.7g
#./config
#make
#make test
#make install
把openssl放進核心目錄下,使其在任何目錄下都能執行。
#cd /usr/local/bin
#ln -s /usr/local/ssl/bin/openssl openssl
4.編譯安裝apache
#cd /opt/httpd-2.0.54
#./configure --prefix="/opt/apache2" --enable-so --enable-ssl --with-ssl="/usr/local/ssl/bin"
#make
#make install
5.安裝完畢,生成證書:
在/opt/apache2/conf下建立一個ssl.key目錄
#cd ../apache2/
#cd conf/
#mkdir ssl.key
然後在該目錄下生成證書:
#cd ssl.key/
生成伺服器私鑰:
#openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
.......................++++++
.................................................++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
生成伺服器證書請求,並按要求填些相關證書資訊:
#openssl req -new -key server.key -out server.csr
Enter pass phrase for server.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) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:tyl
Organization Name (eg, company) [Internet Widgits Pty Ltd]:tz
Organizational Unit Name (eg, section) []:tz
Common Name (eg, YOUR name) []:tyl
Email Address []:

[email protected]
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
簽證:
# openssl x509 -req -days 700 -in server.csr -signkey server.key -out server.cert
Signature ok
subject=/C=AU/ST=Some-State/L=tyl/O=tz/OU=tz/CN=tyl/[email protected]

Getting Private key
Enter pass phrase for server.key:
為了安全,然後我們把這些檔案的許可權都設為400
chmod 400 server.key
chmod 400 server.cert

最後對/opt/apache2/conf/ssl.conf 進行修改:

vi /opt/apache2/conf/ssl.conf
修改的地方如下幾處:
#SSLCertificateFile /opt/apache2/conf/ssl.crt/server.crt  #108行
SSLCertificateFile /opt/apache2/conf/ssl.key/server.cert
#SSLCertificateFile /opt/apache2/conf/ssl.crt/server-dsa.crt

SSLCertificateKeyFile /opt/apache2/conf/ssl.key/server.key   #116行
#SSLCertificateKeyFile /opt/apache2/conf/ssl.key/server-dsa.key

這樣我們就基本配好了ssl現在我們來讓apache啟動ssl

/opt/apache2/bin/apachectl startssl

然後要求輸入證書密碼,正確輸入後ssl就連同apache一起啟動

 
在瀏覽器中輸入:https://210.75.18.36

要求下載證書,OK~好了~結束~就是這麼簡單。

參考:http://www.szlangxing.com/Article/gyw/200504/524.html
         http://www.chinaunix.net/jh/13/469276.html
 
 


Keytool應用例項:

1.產生一個keystore:

keytool -genkey -alias myssl -keyalg RSA -keystore myssl.jks

執行這個命令,系統提示:

Enter keystore password:(輸入keystore密碼:)
yourpassword(輸入密碼)

What is your first and last name?(您的名字與姓氏是什麼?)
[Unknown]: www.myssl.cn(輸入申請的證書的域名)

What is the name of your organizational unit? (您的組織單位名稱是什麼?)
[Unknown]:Fastcom(輸入你所在組織單位的名字)

What is the name of your organization? (您的組織名稱是什麼?)
[Unknown]:Fastcom (輸入你所在組織的名字)

What is the name of your City or Locality?(您所在的城市或區域名稱是什麼?)
[Unknown]:Shanghai(輸入所在城市的名字)

What is the name of your State or Province? (您所在的州或省份名稱是什麼?)
[Unknown]:Shanghai(輸入所在省份名字)

What is the two-letter country code for this unit?(該單位的兩字母國家程式碼是什麼?)
[Unknown]:CN(輸入國家名字,如果是中國,請輸入CN)

Is CN=www.myssl.cn, OU=fastcom, O=fastcom, L=Shanghai, ST=Shanghai, C=CN correct? [no]:
yes

相關推薦

Linux+Apache2+openssl實現https驗證

 首先安裝SSL,再編譯安裝APACHE,再配置證書即可1.下載apache和openssl網址:http://www.apache.org      http://www.openssl.org2.解壓#tar zxvf httpd-2.0.54.tar.gz#tar zx

非同步OpenSSL實現HTTPS心得

  本文記錄在使用OpenSSL實現非同步式HTTPS中的一些心得體會。 1.關於握手 (1)如果沒有使用封裝庫,可以得到套接字描述符;而且非非同步系統,允許握手的阻塞,則直接使用API將套接字和OpenSSL繫結,從而完成SSL握手絕對是明智之選,可以省下

Linux裏HTTP實現HTTPS

它的 inux sts 修改配置 客戶端瀏覽器 驗證 protoc dir 保護     HTTP即超文本傳輸協議(Hypertext Transfer Protocol)。     這是一個文件的傳輸協議,我們上網的時候,所有的文件都是通過HTTP這個協議,從服務器上傳輸

輕鬆把玩HttpClient之配置ssl,採用繞過證書驗證實現https

上篇文章說道httpclient不能直接訪問https的資源,這次就來模擬一下環境,然後配置https測試一下。在前面的文章中,分享了一篇自己生成並在tomcat中配置ssl的文章《Tomcat配置SSL》,大家可以據此來在本地配置https。我已經配置好了,效果是這樣滴:

基於OpenSSLHTTPS通訊C++實現

  HTTPS是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。Nebula是一個為開發者提供一個快速開發高併發網路服務程式或搭建高併發分散式服務叢集的高效能事件驅動網路框架。Neb

golang實現https請求跳過證書驗證

請求 https 網站跳過證書驗證 在用 Golang 發起https請求時出現以下錯誤,因為證書是未經過認證的,而是自己建立的。 錯誤資訊:Get https://192.169.0.199:8080/Versty/app: x509: certificate signed by unkn

【實戰-Linux】--搭建CA認證中心實現https取證

環境 CA認證中心服務端:xuegod63.cn IP:192.168.1.63           客戶端:xuegod64.cn IP:192.168.1.64 CA認證中心簡述  CA :CertificateAuthority的

Linux+nginx實現Https和http

安裝nginx: 1.下載安裝包: http://nginx.org/en/download.html 上傳放入安裝包資料夾 2.安裝之前檢查安裝依賴是否完善: yum -y install gcc pcre pcre-devel zlib z

Tomcat單向Https驗證搭建,親自實現與主流瀏覽器、Android/iOS移動客戶端安全通訊

眾所周知,iOS9已經開始在聯網方面預設強制使用Https替換原來的Http請求了,雖然Http和Https各有各的優勢,但是總得來說,到了現在這個安全的資訊時代,開發者已經離不開Https了。 網上有很多搭建Https的教程,但是比較零散,Web瀏覽器端和移動端具體部署也不是特別明確,如果

eclipse中使用Jetty外掛實現https請求與SSL雙向驗證

連結 完整程式原始碼下載,csdn還沒驗證通過 1. 包含https和socket兩種ssl測試程式碼 2. 所有密碼均為123456 環境準備 eclipse中安裝run-jetty-run外掛 csdn下載資源 java環境支援,需要使用keyt

在繞過證書驗證實現https訪問時 出現java.lang.NoClassDefFoundError: org/apache/http/conn/socket//PlainConnectionSock

# 歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳 LaTex數學公式 UML序列

Ubuntu+Apache2配置騰訊雲ssl證書實現https

Ubuntu+Apache2配置騰訊雲ssl證書實現https 前言 本文所用的伺服器環境是 Ubuntu18.04 + Apache2 .通過部署 ssl 來達到預設使用https方式訪問網站的目的。 超文字傳輸安全協議(英語:Hypertext Transfer

Apache+OpenSSL實現證書伺服器提供HTTPS

http://hnlixf.iteye.com/blog/1771050 通過 Linux+Apache+OpenSSL 實現 SSL ( Secure Socket Layer )證書伺服器,提供安全的 HTTPS ( Hypertext Transfer Proto

opensslhttps實現流程

上面的第2點就是openSSL比較奇葩的一個地方了:呼叫SSL_write發包,可能返回的是一個SSL_ERROR_WANT_READ,即發包可能阻塞在讀操作!無法理解吧。其實這個是因為在http的底層,會有一個重協商的過程,這個過程,相當於在業務資料正在單向地收或發的時候,突然在ssl鏈路層要去互動協議資料

WDCP上配置SSL證書即https 2017-08-28 百度總結 操作環境:linux的WDCP操作面板(沒有操作面板就在命令列操作) wdcp 安裝ssl證書教程實現https訪問 1.申請

百度總結 操作環境:linux的WDCP操作面板(沒有操作面板就在命令列操作) wdcp 安裝ssl證書教程實現https訪問 1.申請免費或付費證書 2.新建站點並 按照提示上傳SSL證書,證書名稱為:域名.KEY/域名.PEM 3.修改對應站點的.CONF檔案(配置檔案) 1234567

騰訊雲Linux伺服器搭建(四) Git伺服器搭建(通過https驗證)

先安裝git: 下載 #wget https://github.com/git/git/archive/v2.9.2.tar.gz 解壓 # tar zxvf v2.9.2.tar.gz # cd git-2.9.2 編譯安裝 # make configure # ./co

使用WebService釋出soap介面,並實現客戶端的https驗證

什麼是https HTTPS其實是有兩部分組成:HTTP + SSL / TLS, 也就是在HTTP上又加了一層處理加密資訊的模組,並且會進行身份的驗證。 如何進行身份驗證? 首先我們要明白什麼是對稱加密,什麼是非堆成加密 對稱加密 對稱加密就是隻有一個金鑰,客戶端雙方按照約定的金鑰對自己的明文進行加密。 但

Linux下 nginx配置ssl證書實現https訪問

現在很多網站都會使用SSL證書對網站資料進行傳輸加密,尤其是銀行、金融、電商類的網站。但很多人對於https的理解都存在不少誤區,

老男孩教育每日一題-2017年5月7日-加餐-linux下面如何實現,執行rm命令,就顯示do not use rm command

linux別名 每日一題 1.題目-老男孩教育每日一題-2017年5月7日-加餐-linux下面如何實現,執行rm命令,就顯示do not use rm command2.要求結果[[email protected]/* */ ~]# rm do not use rm command3.答

linux腳本實現自己主動輸入password

問題 center 例如 單位 運行 第一個 swd 同學 自己 使用Linux的程序猿對輸入password這個舉動一定不陌生,在Linux下對用戶有嚴格的權限限制,幹非常多事情越過了權限就得輸入password。比方使用超級用戶運行命令,又比方ftp、ssh連接遠程