Easy-RSA báo thiếu PKI? Nó đang nhìn sang chỗ khác
Thiếu khóa CA hoặc index.txt thường có nghĩa là Easy-RSA 3 đã chọn một thư mục khác. Trước tiên hãy kiểm tra bộ chọn PKI, thứ tự ưu tiên và dấu vân tay của nhà phát hành.
Lệnh dừng lại vì thiếu ca.crt hoặc thiếu index.txt, trong khi CA đã phát hành chứng chỉ suốt nhiều tháng. Không có gì thay đổi ở cơ quan; lệnh chỉ đơn giản là nhìn sang chỗ khác. Easy-RSA 3 xác định thư mục PKI từ một tùy chọn, một biến môi trường, một tệp vars và một giá trị mặc định tích hợp, và bất kỳ nguồn nào trong số đó đều có thể trỏ ra ngoài cơ quan của bản triển khai. Hãy kiểm tra nguồn nào thắng trước khi bạn tạo bất cứ thứ gì.
Lỗi nêu tên một tệp, không phải một thư mục
Thư mục cài đặt và thư mục của nhà phát hành là hai nơi khác nhau. Việc tìm thấy easyrsa trên máy chỉ chứng minh công cụ đã được cài, không chứng minh nó đã tìm ra cơ quan mà VPN của bạn tin cậy.
Vì thế cài lại gói hoặc chạy lại bước init có vẻ hữu ích mà không thay đổi gì.
Kiểm tra bộ chọn trước mọi thứ khác
Trong Easy-RSA 3 bộ chọn là EASYRSA_PKI hoặc tùy chọn tương ứng --pki-dir. Hãy truyền một đường dẫn tuyệt đối như --pki-dir=/srv/pki/office, và câu trả lời không còn phụ thuộc vào nơi bạn tình cờ đứng. Một thói quen đó loại bỏ cả một lớp lỗi này, đặc biệt với các script chạy từ cron hoặc từ một checkout CI.
Trước tiên xác nhận thế hệ, vì thói quen của Easy-RSA 2 với một tệp vars cộng với build-key là một mô hình khác với mô hình mà Easy-RSA 3 mong đợi. easyrsa --version in ra thế hệ trước khi làm bất cứ điều gì khác, và ./easyrsa --help liệt kê các lệnh con: một mục tiêu build-key nghĩa là 2.x, trong khi build-client-full nghĩa là 3.x. Việc mang một đường dẫn KEY_DIR cũ vào lời gọi 3.x vì tên thư mục trông quen thuộc tạo ra đúng lỗi này.
Nếu chuỗi phiên bản và cú pháp lệnh không khớp, hãy dừng lại và đọc tài liệu của bản phát hành đã cài.
Thứ tự ưu tiên giải thích một tệp vars bị thua
Thứ tự ưu tiên được ghi nhận là tùy chọn dòng lệnh, rồi môi trường, rồi tệp vars, rồi giá trị mặc định tích hợp. Vì vậy một giá trị đúng trong vars thua một biến môi trường được kế thừa, và đây là phiên bản im lặng của sự cố này. Hãy kiểm tra các biến dự định và việc chọn tệp thay vì đổ toàn bộ môi trường vào một phiếu. Sự khác biệt giữa hai thứ đó thường là một bí mật.
Đi qua chuỗi theo thứ tự và ghi lại nguồn nào đã cung cấp đường dẫn mà lệnh dùng. Khi biết điều đó, cách sửa là một cờ hoặc một export, không phải một cơ quan chứng thực mới.
Tài liệu cấu hình Easy-RSA định nghĩa bộ chọn và thứ tự ưu tiên, và đó là trích dẫn cần đưa vào phiếu.
Xác nhận nhà phát hành bằng tài liệu công khai
Với nhà phát hành dựa trên tệp thông thường, hãy đọc ca.crt và so khớp dấu vân tay của nó với bản ghi nhà phát hành mà bạn đã phê duyệt. Tên chủ thể trùng khớp không phải bằng chứng danh tính, và một thư mục tên production cũng không. Chỉ dấu vân tay gắn tệp bạn tìm thấy với cơ quan mà đồng nghiệp của bạn được bảo phải tin cậy.
Một kiểm tra chỉ đọc là đủ: openssl x509 -in /srv/pki/office/ca.crt -noout -subject -issuer -serial -fingerprint -sha256.
Sau đó xác định vai trò của thư mục. Thư mục yêu cầu mà một máy khách dùng không phải cơ sở dữ liệu của nhà phát hành, và khóa ký được giữ ngoại tuyến không có việc gì trên mọi máy chủ VPN. Việc thiếu ca.key là một thuộc tính thiết kế trong cách bố trí đó, không phải sự cho phép bịa ra một cơ quan thay thế.
Nếu trạng thái thực sự đã mất
Đôi khi đường dẫn đúng mà trạng thái thực sự không có. Một tệp index.txt rỗng và một bộ đếm số sê-ri được khởi động lại cho bạn một PKI trông khỏe mạnh và không thể chứng minh gì về những chứng chỉ mà nó chưa từng thấy: việc gia hạn sẽ không thu hồi cái cũ, và những số mới sẽ đụng độ với lịch sử. Thay vào đó hãy khôi phục từ bản sao lưu đã được phê duyệt của CA, vì khởi tạo một PKI trống ở nơi khác chỉ di chuyển lỗi và để lại một cơ quan thứ hai không liên quan.
Khi đường dẫn và nhà phát hành khớp nhau, hãy xử lý sự cố tiếp theo theo đúng bản chất. Permission denied, một khóa ký cần cụm mật khẩu của nó, và một bản ghi phát hành bị thiếu là ba sự cố khác nhau, và chỉ một trong số đó liên quan đến thư mục bạn vừa sửa.
Đừng bao giờ gỡ mã hóa khóa hoặc mở rộng quyền thư mục để che lấp một lỗi đường dẫn. Lỗi thì sửa rẻ; việc khắc phục thì không.