ฉันจะติดตั้งใบรับรองระดับกลาง (ใน AWS) ได้อย่างไร


22

ฉันได้ติดตั้งคีย์ส่วนตัว (เข้ารหัส pem) และใบรับรองกุญแจสาธารณะ (เข้ารหัส pem) ใน Amazon Load Balancer อย่างไรก็ตามเมื่อฉันตรวจสอบ SSL ด้วยเครื่องมือทดสอบเว็บไซต์ฉันได้รับข้อผิดพลาดต่อไปนี้:

เกิดข้อผิดพลาดขณะตรวจสอบใบรับรอง SSL !! ไม่สามารถรับผู้ออกใบรับรองในท้องถิ่น ไม่พบผู้ออกใบรับรองที่ค้นหาแบบโลคัล โดยปกติสิ่งนี้บ่งชี้ว่าไม่ได้ติดตั้งใบรับรองระดับกลางทั้งหมดไว้บนเซิร์ฟเวอร์

ฉันแปลงไฟล์ crt เป็น pem โดยใช้คำสั่งเหล่านี้จากบทช่วยสอนนี้:

openssl x509 -in input.crt -out input.der -outform DER
openssl x509 -in input.der -inform DER -out output.pem -outform PEM

ในระหว่างการตั้งค่า Amazon Load Balancer ตัวเลือกเดียวที่ฉันเหลือคือสายโซ่ใบรับรอง (เข้ารหัส pem) อย่างไรก็ตามนี่เป็นตัวเลือก นี่อาจเป็นสาเหตุของปัญหาของฉัน และถ้าเป็นเช่นนั้น ฉันจะสร้างห่วงโซ่ใบรับรองได้อย่างไร

UPDATE

หากคุณทำการร้องขอ VeriSign พวกเขาจะให้ห่วงโซ่ใบรับรองแก่คุณ ห่วงโซ่นี้รวมถึงสาธารณะ crt, crt กลางและราก crt ตรวจสอบให้แน่ใจว่าได้ลบ crt สาธารณะออกจากห่วงโซ่ใบรับรองของคุณ (ซึ่งเป็นใบรับรองสูงสุด) ก่อนที่จะเพิ่มลงในกล่องห่วงโซ่ใบรับรองของ Amazon Load Balancer ของคุณ

หากคุณส่งคำขอ HTTPS จากแอพ Android คำแนะนำข้างต้นอาจไม่สามารถใช้กับระบบปฏิบัติการ Android รุ่นเก่าเช่น 2.1 และ 2.2 วิธีทำให้มันใช้งานได้กับระบบปฏิบัติการ Android รุ่นเก่า:

  • มานี่
  • คลิกที่แท็บ "retail ssl" จากนั้นคลิกที่ "secure site"> "CA Bundle สำหรับ Apache Server"
  • คัดลอกและวาง certs กลางเหล่านี้ลงในกล่องเชนใบรับรอง เพียงแค่ใส่หีบถ้าคุณยังไม่พบว่าที่นี่คือการเชื่อมโยงโดยตรง

หากคุณใช้ใบรับรองความน่าเชื่อถือทางภูมิศาสตร์โซลูชันจะเหมือนกันสำหรับอุปกรณ์ Android อย่างไรก็ตามคุณต้องคัดลอกและวางใบรับรองกลางสำหรับ Android


ใบรับรองระดับกลาง == ใบรับรองลูกโซ่
Chris S

ขอบคุณ @chris คุณสามารถบอกฉันว่าฉันสามารถสร้างใบรับรองลูกโซ่ได้อย่างไร ฉันลองใช้ googling แล้ว แต่ฉันสับสนจริงๆว่าจะสร้างใบรับรองลูกโซ่นี้อย่างไร ข้อเสนอแนะหรือลิงก์ไปยังการกวดวิชามีความนิยมมาก
getmizanur

@getmizanur ใบรับรองนี้มาจากไหน ผู้ให้บริการ CA ควรสามารถให้บริการลูกโซ่ที่เข้ารหัสด้วย PEM ได้
เชนหัวเสีย

คำตอบ:


21

ต่อไฟล์ที่จัดเตรียมด้วยตนเองเข้าด้วยกันตามลำดับต่อไปนี้:

  • site.com.crt
  • middle.crt (อย่างน้อยหนึ่งคำสั่งของสิ่งเหล่านี้ไม่สำคัญ)
  • ROOT.crt

คุณสามารถทำได้จากเชลล์ด้วยcatคำสั่ง

cat site.com intermediate.crt ROOT.crt > site.chain.pem

หรือคัดลอก / วางไม่มีช่องว่างระหว่างให้แน่ใจว่าใบรับรองอยู่ในบรรทัดที่แตกต่างกัน

-----BEGIN CERTIFICATE-----
site cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----

ขอบคุณ @eric ฉันมีไฟล์สองไฟล์ที่ลงนาม. crt และ. key เท่านั้น คุณบอกฉันได้ไหมว่าฉันจะได้รับไฟล์ CRT ระดับกลางและรูทได้อย่างไร
getmizanur


3
ต่อใบรับรองไซต์กับตัวกลางเหล่านั้นโดยไม่ต้องรูทใบรับรอง
Eric Fortis

@EricFortis หาก load balancer ของ AWS ต้องการไฟล์ใบรับรองแยกต่างหากและไฟล์ chain ก็อาจต้องการสื่อกลางและ root โดยไม่ต้องมี subject cert - ไม่แน่ใจ!
เชนหัวเสีย

7

ฉันมีปัญหากับใบรับรอง SSL ของฉันอย่างรวดเร็ว ตาม

https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO21856&actp=search&viewlocale=en_US&searchid=1368427636740

ฉันสามารถแก้ไขได้โดยการย้อนกลับใบรับรองในชุดข้อมูล CA:

ปัญหา

เมื่อติดตั้งใบรับรอง SSL ใน Amazon Web Service (AWS) - อุปกรณ์ Amazon EC2 คุณอาจได้รับข้อความแสดงข้อผิดพลาดดังต่อไปนี้

ข้อผิดพลาด: ใบรับรองกุญแจสาธารณะไม่ถูกต้อง สาเหตุปัญหานี้อาจเกิดขึ้นใน Amazon Web Service (AWS) - อุปกรณ์ Amazon EC2 เมื่อเงื่อนไขใด ๆ ต่อไปนี้เป็นจริง

RapidSSL Intermediate CA bundle certificate is not installed on Amazon Web Service (AWS) - > Amazon EC2 device
RapidSSL Intermediate CA bundle certificate is installed on Amazon Web Service (AWS) - Amazon > EC2 device but the CA bundle required needs to be installed in reversed order

มติ

ในการแก้ไขข้อผิดพลาดจากการติดตั้งใบรับรอง RapidSSL โดยใช้ Amazon Web Service (AWS) - อุปกรณ์ Amazon EC2 ให้ทำตามขั้นตอนต่อไปนี้

ขั้นตอนที่ 1: ดาวน์โหลด Intermediate CA Bundle Certificate

หากต้องการดาวน์โหลดใบรับรองบันเดิล Intermediate CA ให้อ้างอิงบทความ AR1548

เมื่อดูชุดข้อมูล CA คุณจะเห็นใบรับรองสองใบซ้อนกันด้านบนของแต่ละรายการ ใบรับรองทั้งสองนี้จะต้องมีการเปลี่ยน ต้องวางใบรับรองระดับสูงที่ด้านล่างและใบรับรองด้านล่างจะต้องอยู่ด้านบน

...


การย้อนกลับใบรับรองในไฟล์ ca-bunle ของฉันทำงานเหมือนมีเสน่ห์ ขอบคุณ!
Mehmet Fatih Yıldız

นี้. นี่คือคำตอบที่ถูกต้อง คุณช่วยฉันมาก
Andrey

5

ฉันต้องผ่านปัญหาเดียวกัน เพียงแค่อัปโหลดไฟล์ pem ที่มีสิ่งต่อไปนี้ดูเหมือนจะช่วยแก้ปัญหาได้ มันไม่ชอบใบรับรองไซต์ที่ด้านบน

-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----

2
คำตอบของคุณไม่ชัดเจนมาก แต่ดูเหมือนจะคล้ายกับคำตอบที่ได้รับและยอมรับแล้ว เป็นคำตอบของคำถามจริง ๆ หรือไม่?
Tonin

คำตอบนี้ใช้ได้สำหรับฉัน ฉันทำตามคำตอบที่ยอมรับแล้วโดยรวมถึงใบรับรองเว็บไซต์ แต่ไม่ได้ผล เพียงแค่ใส่ใบรับรองระดับกลางและใบรับรองหลักตามที่กล่าวไว้ในคำตอบนี้ใช้งานได้ดี!
user1258600

4

สำหรับ Comodo ออกใบรับรอง

    Private Key: private_key.text
    Public Key Certificate: yourdomain.crt
    Certificate Chain: combine these 2
    cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > certchain.txt
    (or paste in COMODORSADomainValidationSecureServerCA.crt first followd by COMODORSAAddTrustCA.crt) 

0

ฉันเองก็เคยขอใบรับรอง RapidSSL และได้ต่อสู้กับข้อผิดพลาด "ใบรับรองกุญแจสาธารณะที่ไม่ถูกต้อง" ฉันลองทุกอย่างที่ระบุไว้ที่นี่รวมถึงการย้อนกลับของใบรับรองลูกโซ่ ommitting พวกเขาผนวกพวกเขาไปยังใบรับรองเซิร์ฟเวอร์หลัก ฯลฯ ...

ในที่สุดฉันก็ไม่ได้รับข้อผิดพลาดที่จะหายไป ดังนั้นฉันจึงพบวิธีอัปโหลดใบรับรองไปยัง Amazon เพื่อใช้กับ Load Balancer (Elastic Beanstalk): จริงๆแล้วมี GUI ที่อนุญาตให้อัพโหลดใบรับรอง!

ตั้งอยู่ใน EC2 -> Load Balancer -> เลือก load balancer ของคุณ -> Listnerers (แท็บ) -> เลือก HTTPS ในเมนูดร็อปดาวน์ -> คลิกเลือกใต้แท็บใบรับรอง SSL และแบบฟอร์มจะปรากฏขึ้นเพื่อให้คุณอัปโหลดใบรับรองของคุณ!

GUI

เมื่อฉันวางไฟล์ในนั้นมันทำงานเหมือนมีเสน่ห์!


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