2013-05-20 45 views
9

Chúng tôi muốn sử dụng xác thực chứng chỉ hai chiều bằng cách sử dụng ssl mở.Xác minh SSL đến bằng OpenSSL S_Server

Khi chúng tôi mở s_server như sau, khách hàng có thể kết nối với máy chủ của tôi:

openssl s_server -accept 12345 -cert our-cert.pem 

(của chúng tôi-cert.pem là giấy chứng nhận của chúng tôi.)

này hoạt động tốt. Tuy nhiên, yêu cầu của tôi là:

  1. Xác nhận rằng chứng chỉ đến có giá trị với một CA đáng tin cậy, và
  2. Xác minh tên gọi chung là những gì chúng tôi mong đợi nó được.

Tôi đã thử này:

openssl s_server -accept 12345 -cert our-cert.pem -CApath /etc/ssl/certs/ 

này cho phép khách hàng để kết nối. Nhưng câu hỏi của tôi là:

  1. Làm cách nào để đảm bảo rằng xác thực SSL đang phát triển hợp lệ và được cấp bởi CA?
  2. Làm cách nào để xác thực Tên thường là những gì tôi mong đợi?

Trả lời

6

Đối với máy chủ, bạn cần thêm tùy chọn "-Xác minh" để buộc khách hàng cung cấp chứng chỉ. Độ sâu là độ dài tối đa của chuỗi chứng chỉ ứng dụng khách.

Điều đó sẽ giải quyết vấn đề # 1.

Đối với # 2, tôi không chắc chắn có cách nào để hạn chế theo Tên thường dùng các lệnh OpenSSL này.

Bạn có thể xem tài liệu OpenSSL cho server/client lệnh ở đây:

s_server

s_client

4

Để kiểm tra CA sử dụng này:

/usr/local/ssl/bin/openssl s_server -accept 7569 -cert /opt/GCTI/cert/host1_cert.pem -CAfile /opt/GCTI/cert/ca_cert.pem -key /opt/GCTI/cert/host1_priv_key.pem    

-cert is the public key file for this host 
-key is the private key file for this host 
-CAfile is the CA file, needed for self signed certificate 
-port is the port number to open up 

này sẽ mở ra một cổng nghe 7569 sẽ chấp nhận các kết nối TLS với chứng chỉ được chỉ định.

nếu CA là không hợp lệ thì dòng cuối cùng sẽ trông như thế này

Verify return code: 21 (unable to verify the first certificate) 

Để kết nối đến máy chủ này, kết thúc đầy đủ để kết thúc thử nghiệm (không thực sự là câu hỏi)

openssl s_client -showcerts -connect host1:7569 -CAfile /opt/GCTI/cert/ca_cert.pem 

thay thế host1 bằng máy chủ thực của bạn. Điều này sẽ xác minh dịch vụ TLS là hợp lệ và chạy chứng chỉ được ký bởi cùng một CA.

Các vấn đề liên quan