Tôi có chứng chỉ ứng dụng khách trong Chrome, mà tôi đã sử dụng để đăng nhập vào StartSSL. Tôi xuất khẩu nó sử dụng pk12util
để certfile.p12
. Bây giờ tôi muốn sử dụng nó để ký với S / MIME.
Tôi đã chuyển đổi p12
tập tin thành pem
.
Đầu tiên, tôi xác minh rằng chứng chỉ sẽ hoạt động cho mục đích này:
$ openssl verify -purpose smimesign -verbose -CAfile ca-bundle.crt certfile.pem
certfile.pem: OK
Bây giờ tôi thử và ký:
$ echo "lol" | openssl smime -sign -CAfile ca-bundle.crt -signer certfile.pem
unable to load signing key file
3074062600:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY
Nếu tôi sử dụng p12
tệp gốc , nó cũng không hoạt động, nhưng với một thông báo lỗi khác:
$ openssl verify -purpose smimesign -verbose -CAfile ca-bundle.crt certfile.p12
unable to load certificate
3074066696:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
Tôi nên làm gì để tôi có thể ký tin nhắn với chứng chỉ StartSSL miễn phí?
cat
các tập tincertfile.pem
. Nó nên có-----BEGIN CERTIFICATE-----
và bạn bè. Ngoài ra,openssl smime -sign
có thể không cần-CAfile ca-bundle.crt
vì bạn không xác minh chữ ký.