Easy-RSA บอกว่าไม่มี PKI? มันกำลังดูที่อื่น
การที่ไม่มีคีย์ CA หรือ index.txt มักหมายความว่า Easy-RSA 3 เลือกไดเรกทอรีอื่น ตรวจสอบตัวเลือก PKI ลำดับความสำคัญ และลายนิ้วมือของผู้ออกก่อน
คำสั่งหยุดเพราะไม่มี ca.crt หรือไม่มี index.txt ทั้งที่ CA ออกใบรับรองมาหลายเดือนแล้ว ไม่มีอะไรเปลี่ยนที่หน่วยรับรอง คำสั่งเพียงแค่มองไปที่อื่น Easy-RSA 3 ตัดสินใจไดเรกทอรี PKI จากตัวเลือก ตัวแปรสภาพแวดล้อม ไฟล์ vars และค่าเริ่มต้นในตัว และสิ่งใดสิ่งหนึ่งเหล่านี้อาจชี้ไปนอกหน่วยรับรองของการติดตั้ง ตรวจสอบว่าตัวใดชนะก่อนสร้างอะไร
ข้อผิดพลาดระบุชื่อไฟล์ ไม่ใช่ไดเรกทอรี
ไดเรกทอรีติดตั้งและไดเรกทอรีผู้ออกเป็นสองที่ที่ต่างกัน การพบeasyrsaบนเครื่องพิสูจน์เพียงว่าติดตั้งเครื่องมือแล้ว ไม่ได้พิสูจน์ว่าพบหน่วยรับรองที่ VPN ของคุณไว้วางใจ
นั่นคือเหตุผลที่การติดตั้งแพ็กเกจใหม่หรือรันขั้นตอน init ซ้ำดูเหมือนได้ผลและไม่เปลี่ยนอะไรเลย
ตรวจสอบตัวเลือกก่อนสิ่งอื่นใด
ใน Easy-RSA 3 ตัวเลือกคือEASYRSA_PKIหรือตัวเลือกที่ตรงกัน--pki-dirให้ระบุพาธแบบสัมบูรณ์ เช่น--pki-dir=/srv/pki/officeแล้วคำตอบจะไม่ขึ้นกับว่าคุณบังเอิญยืนอยู่ที่ไหน นิสัยเดียวนี้กำจัดข้อบกพร่องทั้งประเภทนี้ โดยเฉพาะสคริปต์ที่รันจาก cron หรือจากเช็กเอาต์ CI
ยืนยันรุ่นก่อนเพราะนิสัยของ Easy-RSA 2 กับไฟล์varsบวกbuild-keyเป็นแบบจำลองที่ต่างจากที่ Easy-RSA 3 คาดหวังeasyrsa --versionพิมพ์รุ่นก่อนทำอย่างอื่น และ./easyrsa --helpแสดงรายการคำสั่งย่อย เป้าหมายbuild-keyหมายถึง 2.x ขณะที่build-client-fullหมายถึง 3.x การนำพาธKEY_DIRเก่าไปใช้กับการเรียก 3.x เพราะชื่อไดเรกทอรีดูคุ้นเคยทำให้เกิดข้อผิดพลาดนี้พอดี
ถ้าสตริงเวอร์ชันกับไวยากรณ์คำสั่งไม่ตรงกัน ให้หยุดและอ่านเอกสารของรีลีสที่ติดตั้ง
ลำดับความสำคัญอธิบายไฟล์ vars ที่แพ้
ลำดับความสำคัญที่บันทึกไว้คือตัวเลือกบรรทัดคำสั่ง แล้วสภาพแวดล้อม แล้วไฟล์ vars แล้วค่าเริ่มต้นในตัว ดังนั้นค่าที่ถูกต้องในvarsจึงแพ้ตัวแปรสภาพแวดล้อมที่สืบทอดมา และนี่คือเวอร์ชันเงียบของความล้มเหลวนี้ ตรวจสอบตัวแปรที่ตั้งใจและเลือกไฟล์ แทนที่จะเทสภาพแวดล้อมทั้งหมดลงในตั๋ว ความต่างระหว่างสองสิ่งนี้มักเป็นความลับ
ไล่ตามลูกโซ่ตามลำดับและบันทึกว่าแหล่งใดให้พาธที่คำสั่งใช้ เมื่อรู้แล้ว การแก้ไขคือแฟล็กหรือ export ไม่ใช่หน่วยรับรองใหม่
เอกสารอ้างอิงการกำหนดค่า Easy-RSAกำหนดตัวเลือกและลำดับความสำคัญ และนั่นคือการอ้างอิงที่ต้องใส่ในตั๋ว
ยืนยันผู้ออกด้วยวัสดุสาธารณะ
กับผู้ออกแบบอิงไฟล์ตามปกติ ให้อ่านca.crtและจับคู่ลายนิ้วมือกับบันทึกผู้ออกที่คุณอนุมัติ ชื่อหัวข้อที่ตรงกันไม่ใช่หลักฐานยืนยันตัวตน และไดเรกทอรีชื่อ production ก็ไม่ใช่ มีเพียงลายนิ้วมือเท่านั้นที่ผูกไฟล์ที่คุณพบเข้ากับหน่วยรับรองที่เพื่อนร่วมงานของคุณได้รับบอกให้ไว้วางใจ
การตรวจสอบแบบอ่านอย่างเดียวก็เพียงพอ:openssl x509 -in /srv/pki/office/ca.crt -noout -subject -issuer -serial -fingerprint -sha256.
จากนั้นกำหนดบทบาทของไดเรกทอรี ไดเรกทอรีคำขอที่ไคลเอนต์ใช้ไม่ใช่ฐานข้อมูลผู้ออก และคีย์ลงนามที่เก็บออฟไลน์ไม่ควรมีอยู่ในทุกโฮสต์ VPN การไม่มีca.keyในโครงสร้างนั้นเป็นคุณสมบัติการออกแบบ ไม่ใช่การอนุญาตให้ประดิษฐ์หน่วยรับรองทดแทน
ถ้าสถานะหายไปจริง
บางครั้งพาธถูกต้องและสถานะหายไปจริง ไฟล์index.txtว่างและตัวนับลำดับที่รีสตาร์ตจะให้ PKI ที่ดูแข็งแรงและพิสูจน์อะไรเกี่ยวกับใบรับรองที่ไม่เคยเห็นไม่ได้เลย การต่ออายุจะไม่เพิกถอนของเก่า และหมายเลขใหม่จะชนกับประวัติศาสตร์ ให้กู้คืนจากสำรองที่อนุมัติของ CA แทน เพราะการเริ่ม PKI ว่างที่อื่นเพียงย้ายข้อผิดพลาดและทิ้งหน่วยรับรองที่สองที่ไม่เกี่ยวข้องไว้
เมื่อพาธและผู้ออกตรงกัน ให้จัดการความล้มเหลวถัดไปตามเนื้อหา Permission denied คีย์ลงนามที่ต้องใช้วลีรหัสผ่าน และบันทึกการออกที่หายไปเป็นความผิดพลาดสามอย่างที่ต่างกัน และมีเพียงอย่างเดียวเกี่ยวกับไดเรกทอรีที่คุณเพิ่งแก้
อย่าถอดการเข้ารหัสคีย์หรือขยายสิทธิ์ไดเรกทอรีเพื่อกลบข้อผิดพลาดเรื่องพาธ ข้อผิดพลาดแก้ได้ถูก แต่การซ่อมไม่ถูก