Windows 下安裝設定 Apache2 + PHP5 + mod_ssl

之前都是在 UNIX-like 的系統下架設 apache 網頁伺服器,而且不論是 Linux 的套件管理系統,抑或是 FreeBSD 的 ports 都把安裝的程序作好了,所以比較少碰到裝不起來的問題。但來到 Windows 下來作這件事就頭大了!雖然不必辛苦地把相關的程式碼抓回來編譯,但還是要自己搞定一些相關的設定就是了,以下是我最近在 Windows 系統(目前是在 Windows XP)上安裝 apache + PHP + mod_ssl 的經驗記錄。

前置作業 - 需要下載的檔案

這裡我列出我完成這件事情所抓下來的檔案:

  1. apache_2.0.59-win32-x86-no_ssl.msi
  2. Apache_2.0.59-Openssl_0.9.8b-Win32.zip
  3. php-5.1.4-Win32.zip
  4. Openssl-0.9.8b-Win32.zip
  5. openssl.cnf

上述檔案我都附上可以去哪個網頁上找到,同時也將它們編號,這樣之後的說明都用編號表示用到哪個檔案。

安裝相關檔案

首先,直接安裝 1 ,用官方的這份安裝檔案的話,可以用 monitor 跟幫你裝成 Windows 服務,這樣就能設定開機時自動啟動 web 伺服器了。安裝時會要你填入相關的訊息,同時也留意一下你把 apache 裝在哪個目錄下(比方說 D:Apache

然後解開 3 ,也注意你把它解壓縮到何處(比方說 D:PHP ),解壓縮後,到 apache 的安裝目錄下的 conf 資料夾裡,修改 httpd.conf 這個檔案,然後在最後面加上下面這段:


# For PHP 5 do something like this:
LoadModule php5_module "d:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "d:/php"

修改完之後,如果你的 apache 服務已經啟動(可以看右下角的工具列圖示),請先將它 stop,然後找個地方解開 2 ,我們需要把解開後的 bin 目錄下的 Apache.exe、 ssleay32.dll 及 libeay32.dll 放到你 apache 安裝目錄下的 bin 目錄裡,替換掉原本的 apache.exe。然後再將 2 解開後的 conf 目錄下的 ssl.conf 也複製一份到你自己 apache 目錄(如 D:Apache)下的 conf 目錄裡,還有 modules 目錄下的 mod_ssl.so 也要放到 apache 目錄下的 modules 目錄裡。

接著將 ssl.conf 裡找到下列這段敘述,然後把它改成你的設定:(用文字編輯器打開)


# General setup for the virtual host
DocumentRoot "你的網頁根目錄 可以找 httpd.conf 下的 DocumentRoot"
ServerName 你的 domain name:443
ServerAdmin 你的 email
ErrorLog logs/error_log
TransferLog logs/access_log

接下來我們要產生 SSL連線(HTTPS)時所需要加密的 key 及身份驗證用的 CA。首先,找個地方解開 4 ,比方說 D:OpenSSL ,接著再把 5 放到該目錄下,並且找到下列地方將它修改成:


dir = ssl
certs = $dir\certs
crl_dir = $dir\crl
database = $dir\index.txt
new_certs_dir = $dir
certificate = $dir\cacert.pem
serial = $dir\serial
crl = $dir\crl.pem
private_key = $dir\privkey.pem
RANDFILE = $dir\privkey.rnd

還有別忘了把這個檔案裡的 x509extensions 這一行在開頭加上 # 把它註解掉。然後在 D:OpenSSL 目錄下建立一個 ssl 資料夾,在裡面新增兩個檔案:index.txt 及 serial,index.txt 讓它保留空白即可,然後 serial 檔案裡打入 01


然後在命令列模式下(「開始」->「執行」打 cmd,然後用 cd 指令切到 D:OpenSSL)依序輸入下列指令:

  1. 產生 CA private key,它會要求你輸入密碼
    openssl genrsa -des3 -out ssl/ca.key 1024
  2. 產生 CA require cert,照著它的說明填入對應資料
    openssl req -config openssl.cnf -new -key ssl/ca.key -out ssl/ca.csr
  3. 產生 CA public cert
    openssl x509 -days 3650 -req -signkey ssl/ca.key -in ssl/ca.csr -out ssl/ca.crt
  4. 產生 Server private key
    openSSL genrsa -out ssl/server.key 1024
  5. 產生 Server require cert,這裡跟上面填入相同的資料
    openssl req -config openssl.cnf -new -key ssl/server.key -out ssl/server.csr
  6. 產生 Server public key
    openssl ca -config openssl.cnf -days 3650 -cert ssl/ca.crt -keyfile ssl/ca.key -in ssl/server.csr -out ssl/server.crt

如果沒有錯誤訊息的話,那在你的 D:OpenSSLssl 資料夾下應該至少會有 ca.crt、server.crt 及 server.key 這三個檔案(確定它們不是 0 byte)。然後把 ca.crt 及 server.crt 放到 D:Apacheconfssl.crt 目錄下,而 server.key 放到 D:Apacheconfssl.key 目錄下。接著就檢視一下 D:Apacheconfssl.conf 檔案裡是不是有這幾行:


SSLCertificateFile conf/ssl.crt/server.crt
SSLCertificateKeyFile conf/ssl.key/server.key
SSLCertificateChainFile conf/ssl.crt/ca.crt

然後我自己是有把 ssl.conf 裡的 <ifdefine SSL> 及 </ifdefine> 註解掉,這就要看你要不要再去 httpd.conf 裡 define SSL 囉。

如果你很順利作到這裡,那就可以重新啟動 apache 的服務,然後試試看能不能用 https 連接到你的網頁伺服器吧!

本文參考:【懶人教學】建構您的 Apache + SSL on Win32The Apache + SSL on Win32 HOWTO

  • georgewang

    ericsk大大 :

    用firefox連時, 回應是憑證不正確或已損毀, 請問是為什麼 ?
    另外我發現server.crt檔案無法開啟… ca.crt就可以

  • 我想指令如果沒有打錯的話,應該是沒什麼問題才是啊
    還是你在填欄位的時候填了什麼奇怪的東西呢? @@

  • george

    底下是我的server.crt 只有輸入common name=192.168.5.141, 如果方便的話請給我一個server.crt的範本,thanks

    Certificate:
    Data:
    Version: 1 (0x0)
    Serial Number: 1 (0x1)
    Signature Algorithm: md5WithRSAEncryption
    Issuer: CN=192.168.5.141
    Validity
    Not Before: Oct 4 03:31:04 2006 GMT
    Not After : Oct 1 03:31:04 2016 GMT
    Subject: CN=192.168.5.141
    Subject Public Key Info:
    Public Key Algorithm: rsaEncryption
    RSA Public Key: (1024 bit)
    Modulus (1024 bit):
    00:99:74:e4:cd:77:01:ca:1a:8f:de:3f:2d:51:b0:
    fe:93:27:d2:20:4b:ac:f6:ed:db:f9:52:c4:f2:ad:
    c3:53:bf:b8:31:b0:7a:3d:27:e8:5f:dc:3d:4b:76:
    8d:ea:16:8d:a0:61:3e:b0:a0:79:15:57:86:8a:35:
    07:a3:ad:7b:0a:d4:eb:98:26:71:84:7c:ab:70:d8:
    12:06:33:2a:49:cb:19:1d:f8:a7:ed:5b:11:0d:7b:
    d8:f6:94:f0:6f:dc:26:48:bc:9e:3b:56:ab:2c:36:
    29:c2:bd:c1:93:1d:65:b7:64:fd:f4:cc:9e:c8:38:
    d5:56:de:d8:24:ee:ca:d2:67
    Exponent: 65537 (0x10001)
    Signature Algorithm: md5WithRSAEncryption
    38:22:0d:28:a2:9d:be:a5:4f:43:6c:9b:88:78:1d:04:04:bb:
    ab:44:98:fa:c3:93:dd:b6:f6:30:5f:b5:9f:32:cd:b6:e9:d2:
    bf:19:22:0a:d6:8d:f1:d3:e3:28:fd:a4:1f:5e:69:60:17:e5:
    26:63:6e:38:41:7e:cc:06:b8:c5:5c:22:9f:de:50:a1:c9:32:
    f7:82:62:eb:c7:d4:76:2c:8b:bf:58:66:97:08:a7:d9:43:17:
    5b:f3:f8:4f:63:f2:77:02:39:ca:dc:38:21:8b:15:32:27:fc:
    d4:15:3b:7e:3f:e0:85:6d:37:8c:70:77:bf:b1:24:25:74:f1:
    1e:82
    —–BEGIN CERTIFICATE—–
    MIIBnzCCAQgCAQEwDQYJKoZIhvcNAQEEBQAwGDEWMBQGA1UEAxMNMTkyLjE2OC41
    LjE0MTAeFw0wNjEwMDQwMzMxMDRaFw0xNjEwMDEwMzMxMDRaMBgxFjAUBgNVBAMT
    DTE5Mi4xNjguNS4xNDEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJl05M13
    Acoaj94/LVGw/pMn0iBLrPbt2/lSxPKtw1O/uDGwej0n6F/cPUt2jeoWjaBhPrCg
    eRVXhoo1B6OtewrU65gmcYR8q3DYEgYzKknLGR34p 1bEQ172PaU8G/cJki8njtW
    qyw2KcK9wZMdZbdk/fTMnsg41Vbe2CTuytJnAgMBAAEwDQYJKoZIhvcNAQEEBQAD
    gYEAOCINKKKdvqVPQ2ybiHgdBAS7q0SY sOT3bb2MF 1nzLNtunSvxkiCtaN8dPj
    KP2kH15pYBflJmNuOEF zAa4xVwin95Qocky94Ji68fUdiyLv1hmlwin2UMXW/P4
    T2PydwI5ytw4IYsVMif81BU7fj/ghW03jHB3v7EkJXTxHoI=
    —–END CERTIFICATE—–

  • 那就附上我隨便作的一個吧 :p

    Certificate:
    Data:
    Version: 3 (0x2)
    Serial Number: 1 (0x1)
    Signature Algorithm: sha1WithRSAEncryption
    Issuer: C=TW, ST=Taiwan, L=Kaohsiung, O=ERICSK, OU=ERICSK, CN=ERICSK/emailAddress=foo@bar.cc
    Validity
    Not Before: Oct 4 04:16:55 2006 GMT
    Not After : Oct 1 04:16:55 2016 GMT
    Subject: C=TW, ST=Taiwan, O=ERICSK, OU=ERICSK, CN=ERICSK/emailAddress=foo@bar.cc
    Subject Public Key Info: Public Key Algorithm: rsaEncryption
    RSA Public Key: (1024 bit)
    Modulus (1024 bit):
    00:c0:f2:d5:86:f8:e8:7a:7d:b6:77:c2:06:2e:95:
    ad:73:36:2f:9a:df:c6:a3:4d:ad:1b:79:60:02:84:
    d8:60:f1:6a:f9:27:9f:bb:51:6d:90:de:30:c1:26:
    a2:92:6e:b6:c3:c6:a5:3d:b3:0a:74:a0:e1:45:4c:
    09:e7:c0:3a:8e:d4:14:4e:18:70:15:17:a2:da:7a:
    19:85:91:03:e1:a1:31:b5:e6:38:49:ce:e7:3e:02:
    c5:75:e8:87:c2:bc:ab:26:98:69:4e:f8:33:25:ab:
    9d:f8:e3:04:07:ce:c4:59:dc:99:08:b4:0f:bc:83:
    11:ec:f1:cb:2a:12:c2:03:d9
    Exponent: 65537 (0x10001)
    X509v3 extensions:
    X509v3 Basic Constraints:
    CA:FALSE
    Netscape Comment:
    OpenSSL Generated Certificate
    X509v3 Subject Key Identifier:
    15:19:C2:2E:E0:D2:89:39:A9:17:48:7D:F9:26:C5:E1:68:EF:A0:51
    X509v3 Authority Key Identifier:
    DirName:/C=TW/ST=Taiwan/L=Kaohsiung/O=ERICSK/OU=ERICSK/CN=ERICSK/emailAddress=foo@bar.cc
    serial:D3:EA:9B:52:76:30:4A:C0

    Signature Algorithm: sha1WithRSAEncryption
    72:63:63:ca:d6:d3:06:85:0c:31:8b:06:3d:dc:de:4a:eb:97:
    00:af:25:40:b7:14:e1:03:5d:be:e9:00:79:70:72:56:9c:19:
    73:c9:24:b4:81:7d:78:5d:7d:7e:d6:fd:44:42:b0:9a:ea:32:
    d3:c4:29:e7:8d:b1:37:5a:a8:f9:8e:8c:fe:94:f5:0f:21:df:
    ab:df:23:e0:2e:12:6e:b9:b0:b4:08:5e:b8:f5:24:e6:f6:92:
    81:d0:65:94:01:ea:95:cd:27:aa:cc:ef:6d:c8:0d:1b:d8:94:
    9f:65:7f:41:e0:a7:57:ad:10:20:73:1c:cb:c6:ee:96:43:c6:
    d9:5c
    -----BEGIN CERTIFICATE-----
    MIIDYTCCAsqgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgDELMAkGA1UEBhMCVFcx
    DzANBgNVBAgTBlRhaXdhbjESMBAGA1UEBxMJS2FvaHNpdW5nMQ8wDQYDVQQKEwZF
    UklDU0sxDzANBgNVBAsTBkVSSUNTSzEPMA0GA1UEAxMGRVJJQ1NLMRkwFwYJKoZI
    hvcNAQkBFgpmb29AYmFyLmNjMB4XDTA2MTAwNDA0MTY1NVoXDTE2MTAwMTA0MTY1
    NVowbDELMAkGA1UEBhMCVFcxDzANBgNVBAgTBlRhaXdhbjEPMA0GA1UEChMGRVJJ
    Q1NLMQ8wDQYDVQQLEwZFUklDU0sxDzANBgNVBAMTBkVSSUNTSzEZMBcGCSqGSIb3
    DQEJARYKZm9vQGJhci5jYzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwPLV
    hvjoen22d8IGLpWtczYvmt/Go02tG3lgAoTYYPFq Sefu1FtkN4wwSaikm62w8al
    PbMKdKDhRUwJ58A6jtQUThhwFRei2noZhZED4aExteY4Sc7nPgLFdeiHwryrJphpTvgzJaud OMEB87EWdyZCLQPvIMR7PHLKhLCA9kCAwEAAaOB/TCB jAJBgNVHRME
    AjAAMCwGCWCGSAGG EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0
    ZTAdBgNVHQ4EFgQUFRnCLuDSiTmpF0h9 SbF4WjvoFEwgZ8GA1UdIwSBlzCBlKGB
    hqSBgzCBgDELMAkGA1UEBhMCVFcxDzANBgNVBAgTBlRhaXdhbjESMBAGA1UEBxMJ
    S2FvaHNpdW5nMQ8wDQYDVQQKEwZFUklDU0sxDzANBgNVBAsTBkVSSUNTSzEPMA0G
    A1UEAxMGRVJJQ1NLMRkwFwYJKoZIhvcNAQkBFgpmb29AYmFyLmNjggkA0 qbUnYw
    SsAwDQYJKoZIhvcNAQEFBQADgYEAcmNjytbTBoUMMYsGPdzeSuuXAK8lQLcU4QNd
    vukAeXByVpwZc8kktIF9eF19ftb9REKwmuoy08Qp542xN1qo Y6M/pT1DyHfq98j
    4C4SbrmwtAheuPUk5vaSgdBllAHqlc0nqszvbcgNG9iUn2V/QeCnV60QIHMcy8bu
    lkPG2Vw=
    -----END CERTIFICATE-----

  • nimo_wei@avision.com.tw

    你好:我按照步驟作,可以現在變成HTTP可以顯示網頁,使用HTTPS連線時,卻顯示無法顯示網頁,請問要如何解決呢

  • 應該是你 ssl.conf 裡的 IFDEFINE 沒有拿掉吧?

  • 2

    你好:我在命令模式下打:APACHE -D SSL
    出現以下訊息.請問市哪裡出錯呢
    (OS 10048)一次只能用一個通訊端位址 (通訊協定/網路位址/連接埠)。 : make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    Unable to open logs

  • 從訊息來看,應該是前一次的 apache 沒有 shutdown 吧?因為 port 80 被佔住了 :p

  • 大尾連

    Using configuration from openssl.cnf
    Loading ‘screen’ into random state – done
    Enter pass phrase for ssl/ca.key:
    I am unable to access the ssl
    ewcerts directory
    ssl
    ewcerts: Invalid argument

    前幾個動作都沒問題,最後要產生server.crt卻發生此訊息

  • To 大尾連: 您是不是什麼目錄沒有事先建好呢?

  • strikefreedom

    請問一下喔 我在建立server.crt出現以下錯誤
    這問題是出在什麼地方呢??

    OpenSSL> ca -config openssl.cnf -days 3650 -cert ssl/ca.crt -keyfile ssl/ca.key
    -in ssl/server.csr -out ssl/server.crt
    Using configuration from openssl.cnf
    Loading ‘screen’ into random state – done
    Enter pass phrase for ssl/ca.key:
    Error Loading extension section x509v3_extensions
    5704:error:02001002:system library:fopen:No such file or directory:.cryptobio
    bss_file.c:122:fopen(‘sslindex.txt.attr’,’rb’)
    5704:error:2006D080:BIO routines:BIO_new_file:no such file:.cryptobiobss_file
    .c:125:
    5704:error:0E078072:configuration file routines:DEF_LOAD:no such file:.cryptoc
    onfconf_def.c:197:
    5704:error:0E06D06C:configuration file routines:NCONF_get_string:no value:.cryp
    toconfconf_lib.c:329:group=CA_default name=email_in_dn
    5704:error:2206506F:X509 V3 routines:V2I_ASN1_BIT_STRING:unknown bit string argu
    ment:.cryptox509v3v3_bitst.c:132:section:,name:0x40,value:
    5704:error:22098080:X509 V3 routines:X509V3_EXT_nconf:error in extension:.crypt
    ox509v3v3_conf.c:93:name=nsCertType, value=0x40
    error in ca
    OpenSSL>

  • 看錯誤訊息很明顯是路徑錯了 🙂

  • strikefreedom

    x509extensions…
    不好意思 是我自己沒把這助註解調ˊˋ

  • strikefreedom

    感謝 ^^ 我終於安裝成功了=.=
    再失敗第N次之後終於成功啦@_@
    還有你有個地方少打了
    httpd.conf之中的
    LoadModule ssl_module modules/mod_ssl.so
    要把他註解拿掉~~
    你上面沒寫@_@

  • 也許我們版本不同吧..XD
    不過我幾乎都不會在 Windows 上跑這些東西
    這篇文章的誕生只是剛好有需要,順便作個記錄而已 *汗*

    寫得不完整的地方還請見諒囉

  • iwantaskyou

    我的配置、啟動都成功了,但就是不能用https訪問站點。譬如:https://localhost不能訪問。錯誤提示是找不到服務器或DNS錯誤。問題錯在何處。錯誤日誌提示:Apache/2.0.59 (Win32) mod_ssl/2.0.59 OpenSSL/0.9.8d PHP/5.2.2 configured — resuming normal operations
    Server built: Jul 27 2006 15:55:03
    Parent: Created child process 3240
    Init: Session Cache is not configured [hint: SSLSessionCache]
    Child 3240: Child process is running
    Child 3240: Acquired the start mutex.
    Child 3240: Starting 250 worker threads.

  • 看一下你 telnet localhost 443 有沒有動靜, 如果沒辦法連線, 那就表示你可能沒有在 httpd.conf 或 ssl.conf 裡打開 443 這個 port

  • bigben

    你好!
    我是在localhost上想试验ssl功能,根据指导,各项配置运行没有问题。但是无法实现https功能,甚是迷惑:

    1、关于以下设置:———————
    # General setup for the virtual host
    DocumentRoot “你的網頁根目錄 可以找 httpd.conf 下的 DocumentRoot”
    ServerName 你的 domain name:443
    ServerAdmin 你的 email
    ErrorLog logs/error_log
    TransferLog logs/access_log

    ————————————————
    是不是表明通过443和80端口访问同一个目录?如何区分访问不同端口功能呢?

    2、apache启动如下:
    [Mon Jun 11 22:15:32 2007] [notice] Apache/2.0.59 (Win32) mod_ssl/2.0.59 OpenSSL/0.9.8d PHP/5.2.2 mod_jk2/2.0.4 configured — resuming normal operations
    [Mon Jun 11 22:15:32 2007] [notice] Server built: Jul 27 2006 15:55:03
    [Mon Jun 11 22:15:32 2007] [notice] Parent: Created child process 1760
    [Mon Jun 11 22:15:33 2007] [notice] Child 1760: Child process is running
    [Mon Jun 11 22:15:33 2007] [notice] Child 1760: Acquired the start mutex.
    [Mon Jun 11 22:15:33 2007] [notice] Child 1760: Starting 250 worker threads.
    但尝试不同方式都无法实现httpssl功能。

    3、我做的各项配置主要有:
    (1)ssl.conf
    —————————————–

    # General setup for the virtual host
    DocumentRoot “D:/sever/www”(该目录为httpd.conf中的documentroot)
    ServerName 127.0.0.1:443
    ServerAdmin sunkq@cnqd.net
    ErrorLog logs/error_log
    TransferLog logs/access_log
    ————————————–

    将 变为
    #
    ……
    ……
    #
    不知道是不是理解正确了你的意思?
    —————————————
    (2)httpd.conf中都作了相应修改。

    心中甚是郁闷,请不吝赐教,谨表谢意!

  • bigben

    这一部分没有显示出来,重写:
    “将ssl.conf 裡的 及 註解掉”

    我于是将他们变为
    #
    ……
    ……
    #

    不知道对否?

  • 你的 httpd.conf 裡有 Include “ssl.conf” 嗎?

  • bigben

    我继续试验了,做了两个virtualhost,一个80端口(httpd.conf中实现http),一个443端口(ssl.conf中实现https),分别指向不同目录,都可以运转。
    所以是不是如我所做设置,而不是仅设置一个443的virtualhost?因为对ssl功能实现还没有更深入的了解,目前仅仅是试验的结果,我们可以再探讨。

  • bigben

    另外,我httpd.conf 裡有 Include “ssl.conf”。

  • yoyo

    請問strikefreedom ,
    我也是有出現xxxx BIO_new_file:no such file:.cryptobiobss_file…..的問題, 但找不到哪裡設定錯誤是否可以教我修改呢?

  • 问题

    其他都正确,怎么到“產生 Server public key
    ”这一步得时候,得到这样得提示呢

    Using configuration from openssl.cnf
    Loading ‘screen’ into random state – done
    Enter pass phrase for ssl/ca.key:
    sslindex.txt: No such file or directory
    unable to open ‘sslindex.txt’
    4996:error:02001002:system library:fopen:No such file or directory:.cryptobio
    bss_file.c:352:fopen(‘sslindex.txt’,’rb’)
    4996:error:20074002:BIO routines:FILE_CTRL:system lib:.cryptobiobss_file.c:35
    4:

    这sslindex.txt是哪里来得

  • 你有建立 index.txt 這個檔案嗎?

  • vodkawa

    [quote comment=””]請問為什麼要將”x509 extensions”這一行註解掉,在檔案 openssl.cnf中?[/quote]

  • vodkawa: 因為沒裝啊 XD

  • woopu

    找不到libphp5.so這個檔,php5的安裝只更新.cnf
    怎麼辦?
    大大請解..

  • Pingback: Pou’s IT Blog » AppServ + OpenSSL in Win32()

  • 關於大尾連的問題,出現以下的錯誤訊息,我也有遇到,不過我解決了

    —–<>—–
    I am unable to access the ssl
    ewcerts directory
    ssl
    ewcerts: Invalid argument

    請把 openssl.cnf 當中的資料夾路徑 “” 改成 “\” 就可以了
    我是注意到錯誤訊息中 “ewcerts directory”
    前面加上一個 “n” 就是 newcerts

    openssl.cnf 原來的設定是
    new_certs_dir = $dirnewcerts

    其中 “” 加上 “n” 正好組成換行字元 “n”
    錯誤訊息才會以那樣怪異的格式出現

    所以我聯想到,是不是在設定檔中要使用 escape 語法
    將資料夾表示成為 “\”,果然不出所料 🙂

  • chmsky

    您好,按照上面的步骤,在执行到第6步:產生 Server public key
    在命令行中输入: openssl ca -config openssl.cnf -days 3650 -cert ssl/ca.crt -keyfile ssl/ca.key -in ssl/server.csr -out ssl/server.crt 回车后,提示输入密码,但无法输入。已经建立ssl这个文件夹了。请问为什么呢?谢谢。

  • chmsky

    直接敲 回车,返回信息如下:
    Using configuration from openssl.cnf
    Loading ‘screen’ into random state – done
    Enter pass phrase for ssl/ca.key:
    unable to load CA private key
    1676:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:.
    cryptoevpevp_enc.c:461:
    1676:error:0906A065:PEM routines:PEM_do_header:bad decrypt:.cryptopempem_lib.
    c:425:

  • harebell

    請問ssl認證也是這樣設定嗎?
    目前想要跑網頁,
    但一直在log error出現SSL certificate problem, verify that the CA cert is OK.
    一般看到的解決方法是在網站載下pem檔案,但還是沒有成功

    不曉得這個設定是否也是用在設定CA CERT?
    麻煩你了 :=)

  • Pingback: ssl搭建实战参考资料收集 « 80端口的简单幸福生活()