Tôi đang cố tạo bộ nhớ khóa bằng Keytool bằng thuật toán của mình.Keytool với các thuật toán tùy chỉnh
Tôi đã tạo custom java.security.provider với các lớp mở rộng SignatureSPI, MessagedigestSPI và KeyPairGeneratorSPI và cài đặt tĩnh nó.
Vấn đề tôi gặp phải là khi tôi đang cố gắng để tạo ra lưu trữ sử dụng:
keytool -alias something -genkeypair -keyalg GOST2001KeyPairGenerator -sigalg GOST2001Signature -providerclass ru.test.security.test_provider -storetype pkcs12 -keystore test_keystore
tôi nhận được thông điệp debug của tôi và một lỗi:
GOST2001KeyPairGenerator initialize
GOST2001KeyPairGenerator generateKeyPair
GOST2001Signature engineInitSign
keytool error: java.lang.RuntimeException: internal error! unrecognized algorithm name: GOST2001Signature
Lạ một điều là thuật toán mà thực sự bắt đầu thực hiện nhưng được gọi là không được công nhận sau đó. Không thể có được một đầu mối những gì đang xảy ra.
Bạn có cố gắng làm cho nó hoạt động với một chương trình Java đơn giản trước không? Tôi không nghĩ rằng nhà cung cấp của bạn sẽ được công nhận trừ khi nó được ký bởi Oracle. –
Tôi đã làm. 1. Tôi đã thử nghiệm tất cả các lớp học của tôi bằng cách sử dụng addProvider. 2. Sau đó, tôi đã thêm nó tĩnh và chỉ được gọi là phương thức standart sử dụng các thuật toán của tôi từ chương trình java một lần nữa. Tất cả mọi thứ hoạt động tốt cho đến khi tôi sử dụng Keytool, đó là vấn đề xuất hiện. –
Cảm ơn, bạn có thể vui lòng đăng một dấu vết ngăn xếp hoàn chỉnh không? [Link] này (http://bouncy-castle.1462172.n4.nabble.com/Unable-to-create-GOST3410-keypair-with-keytool-td1463711.html) có thể chỉ ra một số tin xấu. –