- Download package and install it
- download httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
- install it at "C:\Apache2.2"
- Setup
- unmark # of LoadModule ssl_module modules/mod_ssl.so
- unmark # of Include conf/extra/httpd-ssl.conf
- save it
Edit C:\Apache2.2\conf\extra\httpd-ssl.conf
- let SSLMutex to "SSLMutex none"
- ServerName your.server.com.tw:443 # if your server has host name
- or ServerName 192.168.1.125:443 # if your server IP is 192.168.1.125
- SSLCertificateFile "C:/Apache2.2/conf/ssl/server.crt"
- SSLCertificateKeyFile "C:/Apache2.2/conf/ssl/server.key"
- save it
- Generate CA files
A. setting and folder
1. Edit "C:\Apache2.2\conf\openssl.cnf" with below command. To make sure "dir" setting
"C:\Program Files\Windows NT\Accessories\wordpad.exe" C:\Apache2.2\conf\openssl.cnf
2. Create ssl folder in "C:\Apache2.2\bin". Folder "C:\Apache2.2\bin\ssl" will be placed some files with regard to SSL/CA files.
3. Create a empty file "index.txt" in in folder "C:\Apache2.2\bin\ssl"
4. Create "serial" file in folder "C:\Apache2.2\bin\ssl", filling "01" in the file.
5. Create a folder "newcerts" in "C:\Apache2.2\bin\ssl"
B. Create "ca.crt" CA file
6. In dos command windows, change working direction to "C:\Apache2.2\bin"
7. hit "openssl genrsa -des3 -out ssl/ca.key 1024" ,and provide a pass phrase, like "654321"
8. hit "openssl req -config ../conf/openssl.cnf -new -key ssl/ca.key -out ssl/ca.csr"
9. hit "openssl x509 -days 3650 -req -signkey ssl/ca.key -in ssl/ca.csr -out ssl/ca.crt"
C. Create "server.crt" CA file
9. hit "openssl genrsa -out ssl/server.key 1024"
10. hit "openssl req -config ../conf/openssl.cnf -new -key ssl/server.key -out ssl/server.csr"
11. hit "openssl ca -config ../conf/openssl.cnf -days 3650 -cert ssl/ca.crt -keyfile ssl/ca.key -in ssl/server.csr -out ssl/server.crt"
D. Creating a client certificate pkcs12 file (.p12)
12. openssl pkcs12 -export -name "Client Certificate" -in ssl\ca.crt -inkey ssl\ca.key -out ssl\ca.p12
13. provide a import pass phrase that is using for import pkcs12 file on PC side.
E. copy ssl folder to ...
14. There are 12 files and 1 folder in "C:\Apache2.2\bin\ssl".
15. copy ssl folder to to "C:\Apache2.2\conf"
- Import pkcs12(.p12) file into web browser
- copy ca.p12 to some PC that is using web browser, and click it. Windows will import it.
- Windows will ask a import pass phrase for the pkcs12 file.
- Restart Apache server
- Restart Apache server, try "https://192.168.1.125"
- Q&A
1. using "netstat -a -o" to find what program had hold TCP port, it will list what PID using what's port
2. stop or kill someone process to release port that apache server using
- Reference
2. http://ssl.wis.com.tw/guide/install_apache.asp
3. http://forum.slime.com.tw/thread211482.html