Tôi có khóa riêng được lưu trữ trong tệp ở định dạng DER PKCS8 và được bảo vệ bằng mật khẩu. Cách dễ nhất để đọc nó là gì?Cách đọc mật mã được mã hóa bằng java?
Đây là mã tôi sử dụng để nạp mã hóa một:
InputStream in = new FileInputStream(privateKeyFilename);
byte[] privateKeydata = new byte[in.available()];
in.read(privateKeydata);
in.close();
KeyFactory privateKeyFactory = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec(privateKeydata);
PrivateKey privateKey = privateKeyFactory.generatePrivate(encodedKeySpec);
Nó hoạt động tốt cho các phím không được mã hóa với các đặc điểm kỹ thuật tương tự. Nhân tiện, tôi đang sử dụng BouncyCastle.
tôi có thể xem private key này sử dụng sau lệnh openssl
openssl pkcs8 -in ./privatekey.key -inform DER -passin pass:thisismypass
Xin vui lòng, Help !!!
Tôi đã đăng một số giải pháp trong câu trả lời của riêng mình cho chủ đề này. Nhưng tôi giữ cho câu hỏi chưa được trả lời trong trường hợp ai cũng có thể giúp làm cho nó hoạt động mà không cần thêm thư viện, chỉ BouncyCastle.
+1 cho not-yet-commons-ssl. Bạn thậm chí không cần Lâu đài Bouncy. – Thilo
Đối với giải pháp thứ hai. Bạn có thể dán mã ở đây không? Tôi không thể mở liên kết đó. Bạn đã sử dụng thư viện nào? – BRabbit27
Điều này thực sự làm việc cho tôi. –