Toolonit
  1. Trang chủ
  2. Mã hóa
  3. Tạo cặp khóa RSA

Tạo cặp khóa RSA công khai và riêng tư

Tạo cặp khóa công khai và khóa riêng tư RSA ở định dạng PEM.

Độ dài khóa

2048 bit là mức tối thiểu thông dụng. Khóa lớn hơn thì tạo và dùng chậm hơn; 4096 bit có thể mất vài giây.

Định dạng

BEGIN PRIVATE KEY và BEGIN PUBLIC KEY — định dạng OpenSSL 3 ghi ra và hầu hết thư viện đọc được.

Cặp khóa RSA gồm khóa riêng tư bạn giữ bí mật và khóa công khai bạn chia sẻ: những gì một khóa ký hoặc mã hóa thì khóa kia xác minh hoặc giải mã. Công cụ này tạo một cặp khóa mới bằng Web Crypto có sẵn trong trình duyệt và ghi cả hai khóa thành văn bản PEM mà OpenSSL và hầu hết thư viện đọc được. Khóa được tạo trên thiết bị của bạn, không bao giờ bị tải lên hay lưu lại; công cụ miễn phí và không cần đăng ký.

Cách tạo cặp khóa RSA

  1. Chọn độ dài khóa: 2048 bit là mức tối thiểu thông dụng, 3072 hoặc 4096 cho khóa cần dùng lâu dài.
  2. Chọn định dạng: PKCS#8 (BEGIN PRIVATE KEY), trừ khi công cụ yêu cầu BEGIN RSA PRIVATE KEY.
  3. Bấm Tạo cặp khóa. Khóa 4096 bit có thể mất vài giây.
  4. Sao chép hoặc tải xuống khóa riêng tư và khóa công khai (.pem) trước khi rời trang.

Tính năng

  • Khóa 2048, 3072 hoặc 4096 bit với số mũ công khai 65537
  • PEM PKCS#8 và SPKI (BEGIN PRIVATE KEY, BEGIN PUBLIC KEY), hoặc PKCS#1 (BEGIN RSA PRIVATE KEY) cho công cụ cũ
  • Đổi định dạng sau khi tạo: vẫn là khóa đó, chỉ viết theo cách khác
  • Sao chép từng khóa, hoặc tải xuống dưới dạng tệp .pem
  • Tạo bằng Web Crypto có sẵn trong trình duyệt; OpenSSL xác nhận khóa hợp lệ

Có riêng tư không?

Có. Cặp khóa được tạo bằng Web Crypto có sẵn trong trình duyệt và chỉ tồn tại trên trang này: không có gì bị tải lên hay lưu lại. Hãy sao chép hoặc tải xuống cả hai khóa trước khi rời đi hoặc tải lại trang.

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

PKCS#8 hay PKCS#1 — tôi cần loại nào?

Cả hai chứa cùng một khóa. PKCS#8 (BEGIN PRIVATE KEY, với khóa công khai là BEGIN PUBLIC KEY) là dạng OpenSSL 3 tạo ra và hầu hết thư viện mong đợi. PKCS#1 (BEGIN RSA PRIVATE KEY, BEGIN RSA PUBLIC KEY) là dạng cũ chỉ dành cho RSA mà một số công cụ vẫn yêu cầu. Đổi định dạng sau khi tạo sẽ hiển thị cùng khóa đó ở dạng còn lại.

OpenSSL có đọc được các khóa này không?

Có. openssl pkey -in private.pem -check báo khóa hợp lệ, và openssl rsa -in private.pem -traditional in ra đúng bản PKCS#1 mà trang này hiển thị (đã kiểm tra với OpenSSL 3.0).

Nên chọn độ dài khóa nào?

2048 bit là mức tối thiểu được chấp nhận hiện nay; NIST coi mức này đủ dùng đến năm 2030. Chọn 3072 hoặc 4096 bit cho khóa cần an toàn lâu hơn thế. Khóa càng lớn thì tạo và sử dụng càng chậm.

Làm sao bảo vệ khóa riêng tư bằng mật khẩu?

Khóa được hiển thị ở dạng không mã hóa để công cụ nào cũng đọc được. Để lưu ở dạng mã hóa, hãy chạy openssl pkey -in private.pem -aes256 -out private-encrypted.pem và chọn một cụm mật khẩu.

Có dùng khóa này cho SSH được không?

Hãy dùng công cụ Tạo khóa SSH: nó tạo các tệp OpenSSH (id_rsa hoặc id_ed25519 và dòng .pub) mà ssh và máy chủ cần.

Công cụ liên quan