Điểm:0

Tiếp cận TimescaleDB với API Hasura: "Chứng chỉ CA và khóa riêng CA không khớp" khi sử dụng chứng chỉ máy chủ tự ký/khóa riêng

lá cờ mx

Tôi làm theo hướng dẫn tại timescaleDB cho các API với Xác thực chứng chỉ -> 2. Tạo khóa và chứng chỉ cho các nút:

nhập mô tả hình ảnh ở đây

Đối với kết nối SSL, bạn cần bốn biến môi trường:

  1. Chứng chỉ gốc SSL
  2. Chứng chỉ SSL (cho nút)
  3. Khóa SSL (cho nút)
  4. Mật khẩu SSL (cho nút)

Đối với 1.), bạn lấy nó từ thang thời gian khi bắt đầu cơ sở dữ liệu dưới dạng văn bản hoặc dưới dạng tải xuống.

Đối với 2.), dường như bạn có thể tự tạo nó dưới dạng chứng chỉ tự ký với:

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

Tôi đã điền "quốc gia" và bỏ qua phần còn lại của các mục chỉ với "." (điều này đã được đề xuất để bỏ qua). Tôi cũng đã điền "mật khẩu thử thách". Không chắc mức độ liên quan của việc điền thông tin này và liệu mật khẩu có phải là 4.) trong danh sách trên hay không.

Đối với 3.), trước tiên bạn cần thay đổi openssl.cnf không được đề cập trong hướng dẫn thang thời gian. Điều đó được thực hiện bằng cách tìm kiếm với whereis openssl.cnfhoặc trong trường hợp của tôi, vị trí được hiển thị trong đầu ra của thiết bị đầu cuối khi các tham số vẫn sai ở đó, điều này cho thấy /usr/lib/ssl/openssl.cnf như vị trí. Thay đổi cấu hình với sudo nano /usr/lib/ssl/openssl.cnf để khóa riêng âserver.keyâ và chứng chỉ gốc âca.pemâ được tìm thấy. Sau đó, chạy lệnh của hướng dẫn:

openssl ca -extensions v3_intermediate_ca -days 3650 -notext \
-md sha256 -in server.csr -out server.crt

nhưng sau đó, bạn nhận được lỗi:

Sử dụng cấu hình từ /usr/lib/ssl/openssl.cnf
Chứng chỉ CA và khóa riêng CA không khớp
140718372717888:error:0B080074:x509 quy trình chứng chỉ:X509_check_private_key:giá trị khóa không khớp:../crypto/x509/x509_cmp.c:299:

Tập lệnh vẫn tạo server.key và server.csr, nhưng không thể tạo server.crt cần thiết.

Và chỉ Cách chuyển đổi .csr sang .cer (hoặc bất kỳ thứ gì có thể sử dụng được trên Windows) dường như có thể giúp tôi lấy server.crt với:

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

Nhập cái này vào cài đặt kết nối SSL tại Hasura:

nhập mô tả hình ảnh ở đây

Nhưng sau đó, khi cố gắng kết nối với cơ sở dữ liệu của tôi theo thang thời gian bằng Hasura, tôi gặp lỗi Thiếu Env Var:

nhập mô tả hình ảnh ở đây

Thêm nguồn dữ liệu không thành công
Inconsistent object: Missing Env Var: -----BEGIN CERTIFICATE----- MIICoTCCAYkCFAHx6x6kVHJ023/ui0aLoWLqA8RyMA0GCSqGSIb3DQEBCwUAMA0x CzAJBgNVBAYTAkRFMB4XDTIxMDkyMTE4MDQzNVoXDTIxMTAyMTE4MDQzNVowDTEL MAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWGxsz
â¦
g98irlkrtDn17jIzmZMjlJEQ75P9L78lJMT2eYCFRqVoCm+7x5IUS18UlnGUtwR4 BuiZOg4= -----GIẤY CHỨNG NHẬN KẾT THÚC----

Tôi đoán rằng đây chỉ là vấn đề tiếp theo vì chứng chỉ CA và khóa riêng của CA rõ ràng là không khớp? Vì vậy, câu hỏi chủ yếu là về Chứng chỉ CA và khóa riêng CA không khớp, thay thế.

Thời gian trả lời:

Mặc dù chúng tôi cung cấp gốc CA vì Chứng chỉ SSL cho mỗi dịch vụ được ký nội bộ, vì vậy điều này sẽ cho phép bạn tạo niềm tin, nhưng chúng tôi không cung cấp khóa riêng hoặc mật khẩu SSL cho họ.

Tài liệu bạn đã liên kết đến là để tạo chứng chỉ auth giữa các nút trong môi trường nhiều nút tại chỗ. đám mây theo thang thời gian không cho phép xác thực chứng chỉ, vì vậy chúng sẽ không liên quan tại đây và bạn sẽ không thể kết hợp các chứng chỉ mà bạn tạo với CA bạn đã tải xuống từ cổng thông tin điện toán đám mây.

Như một giải pháp thay thế, bạn cũng có thể bỏ mã hóa SSL vì nó chỉ là tùy chọn:

chỉ cần cung cấp toàn bộ chuỗi kết nối (như được sao chép từ trường URI dịch vụ trong Cổng thông tin điện toán đám mây Timescale) là đủ để liên kết.

Tôi đã kiểm tra điều này, đó là sự thật, bạn có thể chạy nó mà không cần SSL mặc dù SSL đã sẵn sàng để sử dụng. tôi đã sử dụng nguồn gốc chứng chỉ thành SSL-kết nối với psql hoặc pgAdmin với chương trình phụ trợ PostgreSQL timescaleDB và họ chỉ yêu cầu chứng chỉ gốc SSL --> 1.) ở trên chứ không yêu cầu chứng chỉ CA của nút và khóa riêng CA của nút --> 2.) - 4.) ở trên.

Kết nối chỉ với SSL nguồn gốc chứng chỉ cũng hoạt động với ứng dụng nút-postgres/Reac-postgres/Express/React, xem:

Tuy nhiên, cài đặt Giao diện lập trình ứng dụng Hasura yêu cầu bốn biến môi trường kết nối SSL của danh sách ở trên cùng, làm cách nào để lấy chúng để tôi có thể kết nối với Thang thời gian?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.