Sử dụng ECDH với OpenSSL


0

Có cách nào để tạo, ký, xác minh và sử dụng các khóa ECDH với OpenSSL trên dòng lệnh không? Tôi có phần quen thuộc với các cơ sở Diffie-Hellman bình thường mà tiện ích này cung cấp, nhưng tôi không thể thấy bất cứ điều gì về biến thể đường cong elip.

Câu trả lời:


0

Đối với chữ ký, bạn sẽ cần ECDSA, không phải ECDH - sau này là thuật toán trao đổi khóa , chủ yếu được sử dụng để mã hóa.

openssl dgst -sign:

openssl dgst -sha256 -sign <priv_key_file> -out <sig_file> <data_file>

Ngoài ra còn có openssl pkeyutl:

openssl pkeyutl -sign -in <data_file> -inkey <priv_key_file> -out <sig_file>

(Lưu ý rằng pkeyutlchỉ hỗ trợ SHA1 với ECDSA; -pkeyopt digest:sha256chỉ được chấp nhận với các khóa RSA. Trong khi đó dgstdường như hoạt động với tất cả các thông báo, nhưng tôi không chắc chắn 100% về điều đó.)

Các công cụ khác tồn tại, chẳng hạn như ecdsatool .

Nếu bạn có một X.509 ECDSA dựa trên giấy chứng nhận , bạn sẽ muốn openssl cms.


Không không không không không. một khóa công khai ECDH.
Melab

Ký chìa khóa riêng của mình ?
grawity

Có, tệp khóa công khai Diffie-Hellman đường cong elliptic để bên nhận có thể xác minh.
Melab

Chà, bạn ký các khóa DH giống như bạn sẽ ký bất kỳ dữ liệu nào khác. Và điều đó phụ thuộc vào loại khóa nào bạn có ...
grawity

Những gì được openssl cmssử dụng cho?
Melab
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.