Score:0

เข้าถึง TimescaleDB ด้วย Hasura API: "ใบรับรอง CA และรหัสส่วนตัวของ CA ไม่ตรงกัน" เมื่อใช้ใบรับรองเซิร์ฟเวอร์ / รหัสส่วนตัวที่ลงนามด้วยตนเอง

ฉันทำตามคำแนะนำที่ timescaleDB สำหรับ API ด้วย การตรวจสอบใบรับรอง --> 2. สร้างคีย์และใบรับรองสำหรับโหนด:

ป้อนคำอธิบายรูปภาพที่นี่

สำหรับการเชื่อมต่อ SSL คุณต้องมีตัวแปรสภาพแวดล้อมสี่ตัว:

  1. ใบรับรองหลัก SSL
  2. ใบรับรอง SSL (สำหรับโหนด)
  3. คีย์ SSL (สำหรับโหนด)
  4. รหัสผ่าน SSL (สำหรับโหนด)

ตามข้อ 1.) คุณได้รับจากไทม์สเกลเมื่อเริ่มต้นฐานข้อมูลเป็นข้อความหรือเป็นการดาวน์โหลด

ตามข้อ 2.) ดูเหมือนว่าคุณจะสร้างใบรับรองด้วยตนเองได้โดยใช้:

opensl req -out server.csr -new -newkey rsa:2048 -nodes \
-keyout server.key

ฉันกรอก "ประเทศ" และข้ามรายการที่เหลือด้วย "." เท่านั้น (แนะนำให้ข้ามไป) ฉันยังกรอก "รหัสผ่านท้าทาย" ไม่แน่ใจว่าการกรอกข้อมูลนี้มีความเกี่ยวข้องมากน้อยเพียงใดและรหัสผ่านคือ 4.) ในรายการด้านบนหรือไม่

ตามข้อ 3.) ก่อนอื่นคุณต้องเปลี่ยน opensl.cnf ซึ่งไม่ได้ระบุไว้ในคู่มือมาตราส่วนเวลา ที่ทำได้โดยการค้นหาด้วย opensl.cnf อยู่ที่ไหนหรือในกรณีของฉัน ตำแหน่งแสดงในเอาต์พุตของเทอร์มินัลเมื่อพารามิเตอร์ยังไม่ถูกต้อง ซึ่งแสดงให้เห็น /usr/lib/ssl/openssl.cnf เป็นที่ตั้ง. เปลี่ยนคอนฟิกด้วย sudo นาโน /usr/lib/ssl/openssl.cnf เพื่อให้พบคีย์ส่วนตัว âserver.keyâ และใบรับรองหลัก âca.pemâ หลังจากนี้ ให้รันคำสั่งของคำแนะนำ:

openssl ca -extensions v3_intermediate_ca -days 3650 -notext \
-md sha256 -ใน server.csr -ออก server.crt

แต่แล้ว คุณได้รับข้อผิดพลาด:

ใช้การกำหนดค่าจาก /usr/lib/ssl/openssl.cnf
ใบรับรอง CA และรหัสส่วนตัวของ CA ไม่ตรงกัน
140718372717888:error:0B080074:x509 รูทีนใบรับรอง:X509_check_private_key:ค่าคีย์ไม่ตรงกัน:../crypto/x509/x509_cmp.c:299:

สคริปต์ยังคงสร้าง server.key และ server.csr แต่ไม่สามารถสร้าง server.crt ที่จำเป็นได้

และเท่านั้น วิธีแปลง .csr เป็น .cer (หรืออะไรก็ตามที่ใช้ได้บน Windows) ดูเหมือนว่าจะสามารถช่วยฉันรับ server.crt ด้วย:

opensl x509 -req -in server.csr -signkey server.key -out server.crt

ป้อนข้อมูลนี้ในการตั้งค่าการเชื่อมต่อ SSL ที่ Hasura:

ป้อนคำอธิบายรูปภาพที่นี่

แต่เมื่อพยายามเชื่อมต่อกับฐานข้อมูลของฉันตามเวลาโดยใช้ Hasura ฉันได้รับข้อผิดพลาด ไม่มี Env Var:

ป้อนคำอธิบายรูปภาพที่นี่

การเพิ่มแหล่งข้อมูลล้มเหลว
Inconsistent object: Missing Env Var: -----BEGIN CERTIFICATE----- MIICoTCCAYkCFAHx6x6kVHJ023/ui0aLoWLqA8RyMA0GCSqGSIb3DQEBCwUAMA0x CzAJBgNVBAYTAkRFMB4XDTIxMDkyMTE4MDQzNVoXDTIxMTAyMTE4MDQzNVowDTEL MAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWGxsz
¦
g98irlkrtDn17jIzmZMjlJEQ75P9L78lJMT2eYCFRqVoCm+7x5IUS18UlnGUtwR4 BuIZOg4= -----END CERTIFICATE-----

ฉันเดาว่านี่เป็นเพียงปัญหาที่ตามมาเนื่องจากใบรับรอง CA และรหัสส่วนตัวของ CA ไม่ตรงกันอย่างเห็นได้ชัด ดังนั้นคำถามส่วนใหญ่เกี่ยวกับ ใบรับรอง CA และรหัสส่วนตัวของ CA ไม่ตรงกัน, แทน.

ช่วงเวลาของคำตอบ:

ในขณะที่เราให้บริการรูท CA เนื่องจากใบรับรอง SSL สำหรับแต่ละบริการ มีการลงนามเป็นการภายใน ดังนั้น การทำเช่นนี้จะทำให้คุณสร้างความไว้วางใจแต่เรา ห้ามให้คีย์ส่วนตัวหรือรหัสผ่าน SSL แก่พวกเขา

เอกสารที่คุณเชื่อมโยงมีไว้สำหรับสร้างการรับรองความถูกต้องของใบรับรอง ระหว่างโหนดในสภาพแวดล้อมหลายโหนดภายในองค์กร ไทม์สเกลคลาวด์ ไม่อนุญาตให้มีการรับรองความถูกต้องของใบรับรอง ดังนั้นจึงไม่เกี่ยวข้องกัน ที่นี่ และคุณจะไม่สามารถรวมใบรับรองที่คุณสร้างเข้าด้วยกันได้ CA ที่คุณดาวน์โหลดจากพอร์ทัลระบบคลาวด์

วิธีแก้ปัญหา คุณยังสามารถละทิ้งการเข้ารหัส SSL เนื่องจากเป็นทางเลือกเท่านั้น:

เพียงระบุสตริงการเชื่อมต่อทั้งหมด (ตามที่คัดลอกมาจากไฟล์ ฟิลด์ Service URI ใน Timescale Cloud Portal) ก็เพียงพอแล้ว เชื่อมต่อ.

ฉันทดสอบแล้ว มันเป็นความจริง คุณสามารถเรียกใช้งานได้โดยไม่ต้องใช้ SSL แม้ว่า SSL จะเตรียมไว้ให้ใช้ก็ตาม ฉันใช้ ราก ใบรับรองเพื่อเชื่อมต่อกับ SSL ด้วย psql หรือ pgAdmin ไปยังแบ็กเอนด์ PostgreSQL timescaleDB และพวกเขาขอเฉพาะใบรับรองรูท SSL --> 1.) ด้านบน และไม่ใช่สำหรับใบรับรองโหนด CA และคีย์ส่วนตัวของโหนด CA --> 2.) - 4.) ด้านบน

เชื่อมต่อด้วย SSL เท่านั้น ราก ใบรับรองยังทำงานร่วมกับ node-postgres / react-postgres / Express / React App ดู:

อย่างไรก็ตาม การตั้งค่า Hasura Application Programming Interface จะถามถึงตัวแปรสภาพแวดล้อมการเชื่อมต่อ SSL สี่ตัวของรายการด้านบน ฉันจะรับตัวแปรเหล่านั้นมาเชื่อมต่อกับ Timescale ได้อย่างไร

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา