2013-03-18 33 views
26

Tôi đang viết một kịch bản shell-ký giấy chứng nhận sử dụng openssl:Giấy chứng nhận Đăng ký mà không cần nhắc trong vỏ kịch bản

openssl ca -config "$CONF" -out "$BOXCERT" -infiles "$CSRFILE" 

Tuy nhiên, khi chạy nó, openssl luôn hỏi liệu tôi có muốn đăng ký giấy chứng nhận:

Certificate is to be certified until Mar 19 11:50:33 2023 GMT (3653 days) 
Sign the certificate? [y/n]:y 

1 out of 1 certificate requests certified, commit? [y/n]y 
Write out database with 1 new entries 
Data Base Updated 

Tôi muốn tập lệnh chạy không tương tác trong máy chủ. Có một số tham số dòng lệnh hoặc tập tin cấu hình tùy chọn để nói OpenSSL để ký giấy chứng nhận và cam kết nó mà không cần nhắc?

Trả lời

40

Bạn có thể sử dụng tùy chọn mở khóa -batch.

ví dụ:

openssl ca -batch -config "$CONF" -out "$BOXCERT" -infiles "$CSRFILE" 
+0

Nó hoạt động, cảm ơn. –

+1

nếu khóa ca của bạn đã chuyển cụm từ thì bạn cũng có thể chỉ định nó bằng cách sử dụng các tùy chọn khác nhau như biến môi trường và mật khẩu dòng lệnh. nó sẽ nhắc bạn nếu không. Đây là lệnh đơn giản, nơi bạn có thể chuyển cụm từ pass như một phần của lệnh * openssl ca -batch -config "$ CONF" -passin pass: keypassword-out "$ BOXCERT" -infiles "$ CSRFILE" * –

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