まず、すべてのコードが私の Linux マシンで既にテストされていることに注意してください。それを確認するための関連する単体テストがあります。しかし、コードはアンドロイドでは機能しません。
プロジェクトに独自のbouncycastle v1.48ライブラリを含めました。Androidにこのライブラリが既に埋め込まれているかどうかはわかりませんが、競合が発生しないことを願っています (?)
私は公開鍵アルゴリズムタグとして使用しています。これは、RSA_GENERAL
そのような秘密鍵を作成するときに役立ちます:
new PGPSecretKey(
PGPSignature.DEFAULT_CERTIFICATION,
publicKeyAlgorithmTag,
publicKey,
privateKey,
new Date,
identity.toString,
symmetricKeyAlgorithmTag,
passPhrase,
null,
null,
new SecureRandom(),
BC_PROVIDER_NAME
);
しかし、キー ペアを作成するときは、このタグを使用していません。これは関連するコードの一部です (Scala で):
val generator = KeyPairGenerator.getInstance(PUBLIC_KEY_ALGORITHM_STRING, BC_PROVIDER_NAME);
generator.initialize(KEY_SIZE_IN_BITS, new SecureRandom());
generator.generateKeyPair();
上記の公開鍵アルゴリズム文字列は、単純に文字列"RSA"です。
注: 対称鍵アルゴリズムで既に NoSuchAlgorithmException が発生していましたが、CAST5 から BLOWFISH に切り替えることで簡単に克服できました。
どこから解決策を探し始めるか、または何が問題なのかについて何か提案はありますか? ありがとうございました