Trình tạo khóa ECDSA và Ed25519

Tạo cặp khóa ECDSA (P-256/P-384) hoặc Ed25519 và ký hoặc xác minh thông điệp, xuất ra dưới dạng PEM hoặc JWK, hoàn toàn trong trình duyệt của bạn.

Đang tải công cụ…

Trình tạo khóa ECDSA và Ed25519Tạo một cặp khóa đường cong elliptic, sau đó ký một thông điệp bằng khóa riêng và xác minh chữ ký bằng khóa công khai, tất cả mà không rời khỏi trang. Chọn P-256, P-384 hoặc Ed25519, xuất khóa dưới dạng PEM hoặc JWK, và xem kết quả xác minh tự cập nhật. Mỗi khóa được tạo cục bộ bằng Web Crypto API và @noble/curves, nên khóa riêng không bao giờ chạm tới máy chủ.

Trình tạo khóa ECDSA và Ed25519 là gì?

Trình tạo khóa ECDSA và Ed25519 là một công cụ miễn phí chạy trong trình duyệt để tạo cặp khóa đường cong elliptic và thực hành chữ ký số. Lập trình viên, kỹ sư bảo mật và sinh viên dùng nó để kiểm thử luồng ký và xác minh, tạo khóa cho JWT hoặc các quy trình kiểu SSH, và tìm hiểu sự khác biệt giữa ECDSA và EdDSA mà không cần cài đặt OpenSSL. Chọn một đường cong từ menu Đường cong, nhấp Tạo để đúc một cặp khóa mới, rồi sao chép khóa công khai và khóa riêng ở định dạng PEM hoặc JWK. Sau đó nhập một thông điệp, nhấp Ký để tạo chữ ký Base64, và công cụ sẽ tự động xác minh nó với khóa công khai, hiển thị chữ ký có hợp lệ hay không. P-256 và P-384 được xử lý bởi ECDSA Web Crypto gốc của trình duyệt, trong khi Ed25519 được tính toán bởi thư viện @noble/curves, chỉ được tải khi bạn chọn nó.

Cách sử dụng Trình tạo khóa ECDSA và Ed25519

  1. Chọn một đường cong từ menu Đường cong: P-256 hoặc P-384 (ECDSA qua Web Crypto) hoặc Ed25519 (EdDSA).
  2. Chọn PEM hoặc JWK làm định dạng xuất cho khóa.
  3. Nhấp Tạo khóa để đúc một cặp khóa ngẫu nhiên mới; khóa công khai và khóa riêng xuất hiện bên dưới.
  4. Sao chép khóa công khai hoặc khóa riêng bằng nút sao chép để dùng ở nơi khác.
  5. Nhập một thông điệp và nhấp Ký để tạo chữ ký Base64.
  6. Đọc kết quả xác minh: công cụ tự kiểm tra chữ ký với khóa công khai và cho bạn biết nó có hợp lệ hay không.

Ví dụ

Tạo cặp khóa P-256 dạng PEM

Đầu vào

Đường cong: P-256, Định dạng: PEM, nhấp Tạo khóa

Đầu ra

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD...
-----END PUBLIC KEY-----

Ký và xác minh một thông điệp bằng Ed25519

Đầu vào

Đường cong: Ed25519, thông điệp: "hello noble", nhấp Ký

Đầu ra

Chữ ký (Base64): 3Lq8...== — kết quả xác minh: Chữ ký hợp lệ.

Xuất khóa công khai Ed25519 dưới dạng JWK

Đầu vào

Đường cong: Ed25519, Định dạng: JWK

Đầu ra

{ "kty": "OKP", "crv": "Ed25519", "x": "11qYAYK..." }

Câu hỏi thường gặp

Khóa riêng có được gửi đi đâu không?
Không. Việc tạo khóa, ký và xác minh đều chạy cục bộ trong trình duyệt của bạn bằng Web Crypto API (cho P-256/P-384) và thư viện @noble/curves (cho Ed25519). Khóa riêng chỉ được giữ trong bộ nhớ trên trang này, không bao giờ được tải lên, và biến mất khi bạn đóng tab, nên công cụ hoạt động ngoại tuyến.
Sự khác biệt giữa ECDSA và Ed25519 là gì?
ECDSA trên P-256/P-384 là chuẩn NIST lâu đời được dùng bởi chứng chỉ TLS và nhiều JWT. Ed25519 là một sơ đồ EdDSA hiện đại, nhanh hơn, có chữ ký kích thước cố định và tránh được một số cạm bẫy của ECDSA. Hãy chọn loại mà hệ thống đích của bạn yêu cầu.
PEM và JWK nghĩa là gì?
PEM bọc khóa nhị phân trong một khối văn bản Base64 với phần đầu BEGIN/END, dạng mà OpenSSL và hầu hết máy chủ mong đợi. JWK là một đối tượng JSON mô tả khóa, phổ biến trong ngữ cảnh web và OAuth/JWT. Hãy đổi định dạng trước khi tạo để có được kiểu mã hóa bạn cần.
Chữ ký được mã hóa như thế nào?
Chữ ký được hiển thị dưới dạng Base64. Với ECDSA, đó là giá trị r||s thô do Web Crypto tạo ra; với Ed25519, đó là chữ ký EdDSA 64 byte. Bạn có thể dán một chữ ký Base64 trở lại trường để xác minh nó với khóa công khai đã tạo.
Tôi có thể xác minh một chữ ký được tạo ở nơi khác không?
Bạn có thể xác minh với cặp khóa được tạo tại đây: dán thông điệp của bạn và một chữ ký Base64, công cụ sẽ kiểm tra nó với khóa công khai tương ứng. Việc nhập một cặp khóa bên ngoài không được hỗ trợ trong công cụ này.

Công cụ liên quan