SSL ไม่ทำงานกับ Apache บน Windows


12

ฉันใช้ผลิตภัณฑ์จากผู้ขายที่ต้องใช้ Apache บน Windows

เรามี CA ของเราเอง

สำหรับวัตถุประสงค์การตั้งชื่อ:

AppServer - Server2012r2 - Apache 2.4

OldCertsha1 - Server2012r2

NewCertsha2 - Server2012r2

ฉันสร้าง CSR บน AppServer โดยใช้สองคำสั่งด้านล่าง

genrsa –des3 –out name.sub.domain.com.key 2048

req –new –key name.sub.domain.com.key –out name.sub.domain.com.csr

นั่นคือทั้งหมดที่ไปได้ดี

req -noout -text -in name.sub.domain.com.csr
Certificate Request:
    Data:
    Version: 0 (0x0)
    Subject: C=xx, ST=xx, L=xx, O=xx, OU=xx, CN=name.sub.domain.com
    Subject Public Key Info:
        Public Key Algorithm: rsaEncryption
        RSA Public Key: (2048 bit)
            Modulus (2048 bit):
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                e1:ae:5a:e8:26:81:fd:a0:49:f9:a3:c0:77:75:0f:
                321:rf
            Exponent: 65537 (0x10001)
    Attributes:
        a0:00
Signature Algorithm: sha1WithRSAEncryption
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d:9a:56:b4:22:e8:a5:1a:e8:43:1d:6f:ef:86:d8:
    aa:e4:b7:1d

จากนั้นบนเซิร์ฟเวอร์ CA

https: // NewCertsha2 / CertSrv

ขอใบรับรอง

คำขอใบรับรองขั้นสูง

ส่งการร้องขอใบรับรองโดยใช้ไฟล์ CMC ที่เข้ารหัส 64- หลักหรือ PKCS # 10 หรือส่งคำขอต่ออายุโดยใช้ไฟล์ PKCS # 7 ที่เข้ารหัสพื้นฐาน 64

เปิด CSR บน AppServer และวางข้อมูล CSR ลงในช่อง

-----BEGIN CERTIFICATE REQUEST-----
MIIC0zCCAbsCAQAwgY0xCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhNaWNoaWdhbjER
MA8GA1UEBxMIRGVhcmJvcm4xFjAUBgNVBAoTDWRmY3VmaW5hbmNpYWwxDDAKBgNV
BAsTA2l2cjEyMDAGA1UEAxMpcDAxMWRjMDEtY3JlYzAzLmNlbnRyYWwuZGZjdWZp
bmFuY2lhbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCej1o0
EEq6UcgB4uhr9bYzA4u8pvxvaCE0JXCqW/8m8D2DBHnJFA2Ui4kEjQlKy1eRTfE0
6lRmowrsJVvvlz0pfsdfghksdkjfgsjskhgfksgfdfmjwHd1D/Bgg60AOPmUBIFl
rgaGcw9CasdkjlhaslkdjhsaklfjhdsfkhsldfjhsdlkjfhdlFOoGVtQdgticLqy
dzpLnAnqwezEnsdflsjhdfksdkfjhwsdkfjhLqKDx1b0z1n7tV4F8DS261dmm8+r
ONz9oYqZfdAFu55gG7sHgOn14P5gP2QIoV/c6CJ2hzbtlifKmZp2A+9F/csXTMIJ
w2sgfQzgv+UPEkH9AgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAMwjmg96iCLnB
uTF4LOoeA788NAt9cYdsWuaUsHptnw70Mj5wWIiaZYgY0hCvWPezRsgOfFrWinN0
y4n0trlyEYXJquBKZbxJZ2yscNMqOJyKl70Ckb83IwpIdhxRYr0JZffEmFlx+2yv
4rhFquS3HZpWtCLopRroQx1v74bYGZHBiz2cM4peowzqGrs8r5NKYYqLRiH00VTs
GEEB+Rihen4tnrn0Y1KLkumrSOrTghIrpQ0j2MZrmvhAIlcZ0W+6bJQcbl0lQ3Hv
STaH9EyIj+47jpMhpfazRPOjSDdFiokjchVDS0Wj/iQJlNDurU7xd+570gduZfcF
M4YoMCwv7Q==
-----END CERTIFICATE REQUEST-----

แม่แบบเว็บเซิร์ฟเวอร์ (10 ปี)

ที่นี่ฉันได้ตัวเลือกสองตัว

เข้ารหัส DER หรือเข้ารหัส 64 ฐาน

ไม่ว่าฉันจะเลือกอันใดมันจะดาวน์โหลดไฟล์. cer และไฟล์. p7b

ฉันทำขั้นตอนเดียวกันกับเซิร์ฟเวอร์ OldCertsha1 และได้ผลลัพธ์เดียวกัน

เมื่อฉันแก้ไขไฟล์ httpd-ssl.conf ให้เพิ่มสิ่งต่อไปนี้และเริ่มบริการ Apache2.4 ใหม่

SSLCertificateFile "E:/Apache24/conf/Certs/name.sub.domain.com.crt"

SSLCertificateKeyFile "E:/Apache24/conf/Certs/name.sub.domain.com.key"

ฉันได้รับข้อผิดพลาดต่อไปนี้ข้อผิดพลาดที่แตกต่างกันสำหรับประเภทที่แตกต่างจากตัวเลือกด้านบน (เข้ารหัส DER หรือเข้ารหัส 64 ฐาน):

เข้ารหัส DER:

[Wed Jan 11 08:37:44.471616 2017] [proxy:error] [pid 4804:tid 1780] (OS 10061)No connection could be made because the target machine actively refused it.  : AH00957: HTTP: attempt to connect to 127.0.0.1:8080 (127.0.0.1) failed
[Wed Jan 11 08:37:44.471616 2017] [proxy:error] [pid 4804:tid 1780] AH00959: ap_proxy_connect_backend disabling worker for (127.0.0.1) for 60s
[Wed Jan 11 08:37:44.471616 2017] [proxy_http:error] [pid 4804:tid 1780] [client ::1:61346] AH01114: HTTP: failed to make connection to backend: 127.0.0.1, referer: https://name.sub.domain.com/knoahsoft/faces/client/index1.jspx?_afPfm=5600447c
[Wed Jan 11 13:13:56.437605 2017] [ssl:emerg] [pid 20860:tid 540] AH02562: Failed to configure certificate name.sub.domain.com:443:0 (with chain), check E:/Apache24/conf/Certs/name.sub.domain.com.cer
[Wed Jan 11 13:13:56.437605 2017] [ssl:emerg] [pid 20860:tid 540] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: TRUSTED CERTIFICATE) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Wed Jan 11 13:13:56.437605 2017] [ssl:emerg] [pid 20860:tid 540] SSL Library Error: error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib
[Wed Jan 11 13:14:14.375459 2017] [ssl:emerg] [pid 23800:tid 544] AH02562: Failed to configure certificate name.sub.domain.com:443:0 (with chain), check E:/Apache24/conf/Certs/name.sub.domain.com.cer
[Wed Jan 11 13:14:14.375459 2017] [ssl:emerg] [pid 23800:tid 544] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: TRUSTED CERTIFICATE) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Wed Jan 11 13:14:14.375459 2017] [ssl:emerg] [pid 23800:tid 544] SSL Library Error: error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib

เข้ารหัส 64 ฐาน:

[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] AH02577: Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file E:/Apache24/conf/Certs/name.sub.domain.com.key)
[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] AH02564: Failed to configure encrypted (?) private key name.sub.domain.com:443:0, check E:/Apache24/conf/Certs/name.sub.domain.com.key
[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA)
[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jan 11 14:35:15.024474 2017] [ssl:emerg] [pid 141796:tid 508] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] AH02577: Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file E:/Apache24/conf/Certs/name.sub.domain.com.key)
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] AH02564: Failed to configure encrypted (?) private key name.sub.domain.com:443:0, check E:/Apache24/conf/Certs/name.sub.domain.com.key
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA)
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Jan 11 14:36:12.355215 2017] [ssl:emerg] [pid 145468:tid 512] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)

ฉันอ่านบทความสองสามข้อที่บอกว่าไฟล์ CER และ CRT สามารถใช้แทนกันได้เพียงแค่เปลี่ยนชื่อพวกเขา

หากฉันเปลี่ยนชื่อ cer เป็น crt และอัปเดต httpd-ssl.conf ฉันจะได้รับข้อผิดพลาดจำนวนมากในบันทึกประมาณ 100 รายการต่อไปนี้:

[Wed Jan 11 14:06:43.943865 2017] [autoindex:error] [pid 70976:tid 1784] [client 10.1.41.110:50933] AH01276: Cannot serve directory E:/KnoahSoft/EmpPhotos/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive

ตอนนี้ผู้ขายใส่ server.crt, server.cre, server.csr และไฟล์ server.key ที่พวกเขาโหลดเมื่อกล่องถูกส่งถ้าฉันเปลี่ยนสองบรรทัดใน httpd-ssl.conf กลับไปที่สิ่งที่พวกเขามีมันจะรีสตาร์ท ใช้ได้ทุกอย่างทำงานได้ แต่ฉันได้รับคำเตือน SSL

SSLCertificateFile "E:/Apache24/conf/Certs/server.crt"

SSLCertificateKeyFile "E:/Apache24/conf/Certs/server.key"

ใครสามารถบอกฉันว่าฉันอาจจะทำผิดถ้าคุณต้องการที่จะเห็นการตั้งค่าเพียงแค่ถามว่าฉันจะทำให้พวกเขา

ปรับปรุง:

ฉันเอา server.csr ของพวกเขาเปิดหน้า CertSrv ทั้งใน OldCertsha1 และ NewCertsha2 เมื่อฉันใช้แม่แบบเว็บเซิร์ฟเวอร์เว็บเซิร์ฟเวอร์ (10 ปี) ฉันพบข้อผิดพลาด:

Your Request Id is 118. The disposition message is "Denied by Policy Module The certificate validity period will be shorter than the WebServer(10Years) Certificate Template specifies, because the template validity period is longer than the maximum certificate validity period allowed by the CA. Consider renewing the CA certificate, reducing the template validity period, or increasing the registry validity period. ". 

ดังนั้นฉันจึงลองใช้เว็บเซิร์ฟเวอร์ (5 ปี) ข้อผิดพลาดเดียวกันจากนั้นฉันก็เบื่อ (เว็บเซิร์ฟเวอร์) ไม่ได้รับข้อผิดพลาดและดาวน์โหลดทั้งไฟล์ DER ที่เข้ารหัสหรือ Base 64 เข้ารหัสไฟล์ cer และ p7b

เปลี่ยน server.cer ที่เข้ารหัส 64 ฐานเป็น server.crt เปลี่ยนชื่อ server.crt เก่าเป็น server1.crt และเริ่ม apache ใหม่

ไม่มีข้อผิดพลาดในการทำงานอย่างสมบูรณ์

ทำไม? ฉันทำอะไรผิดตั้งแต่แรก

นี่เป็นครั้งแรกที่ฉันทำงานกับ SSL และ apache และใช้ CA ของฉันเองฉันทำอะไรผิด มีเพียงความคิดเดียวที่ฉันนึกได้ว่าฉันใช้แม่แบบเว็บเซิร์ฟเวอร์ (10 ปี) แต่นั่นไม่สมเหตุสมผลเลยสำหรับฉัน

ถ้าฉันดูทั้งไฟล์ crt ทั้งคู่มีข้อมูลเหมือนกัน

ใบรับรองมีไว้สำหรับวัตถุประสงค์ดังต่อไปนี้

  • ตรวจสอบตัวตนของคอมพิวเตอร์ระยะไกล

ออกให้: name.sub.domain.com

ออกโดย: OldCertsha1

ข้อแตกต่างที่แท้จริงจากแท็บทั่วไปคือระยะเวลาที่ถูกต้อง cst จาก csr ของฉันมีอายุ 10 ปี crt จาก csr ของพวกเขามีอายุ 2 ปี

ฉันจะมองลึกลงไปในส่วนอื่น ๆ ของ SSL และดูว่าฉันจะพบความแตกต่างในวันพรุ่งนี้


expta.com/2010/08/…แต่มันอาจจะสายเกินไปถ้าคุณมี certs จำนวนมากและไม่มีระบบอัตโนมัติ
Jacob Evans

ให้ความสนใจกับข้อผิดพลาด "AH02577: เริ่ม: SSLPassPhraseDialog builtin ไม่ได้รับการสนับสนุนบน Win32" ปิดใช้งานการเข้ารหัสลับสำหรับคีย์ rsa และลองอีกครั้ง
ezra-s

คำตอบ:


11

อันดับแรก Apache จะใช้ base64 เสมอส่วนขยายไฟล์ไม่เกี่ยวข้อง (pem, crt, cer)

ประการที่สองคุณไม่สามารถออกใบรับรองนานกว่าผู้ออกใบรับรอง

10 ปีค่อนข้างมากฉันไม่แปลกใจที่เห็นเบราว์เซอร์เริ่มทำเครื่องหมายว่าไม่ปลอดภัย

หากคุณยังคงมีใบรับรองที่ออกให้คุณสามารถตรวจสอบด้วย openssl

/security//a/56699/84379


10

ฐาน 64 ทุกที่โปรด :-)

บรรทัด httpd.conf ของคุณ

SSLCertificateKeyFile "E: /Apache24/conf/Certs/name.sub.domain.com.key"

กำลังระบุไฟล์คีย์ที่เข้ารหัส Apache บน Windows ไม่รองรับการถอดรหัสวลีรหัสผ่านที่รันไทม์ ... ดูบรรทัดบันทึกข้อผิดพลาด:

[พุธ Jan 14 14: 35: 15.024474 2017] [ssl: ฉุกเฉิน] [pid 141796: tid 508] AH02577: เริ่ม: SSLPassPhraseDialog builtin ไม่รองรับ Win32 (ไฟล์คีย์ E: /Apache24/conf/Certs/name.sub domain.com.key)

คุณจะต้องถอดรหัสไฟล์คีย์ของคุณล่วงหน้า:

openssl rsa -in name.sub.domain.com.key -out name.sub.domain.com.decryped.key

ให้ข้อความรหัสผ่านเมื่อถูกถาม แก้ไข httpd.conf และเริ่ม Apache ใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.