RSAアルゴリズムを使用して公開キーと秘密キーを生成しています
final KeyPairGenerator keyGen = KeyPairGenerator.getInstance(ALGORITHM);
keyGen.initialize(1024);
final KeyPair key = keyGen.generateKeyPair();
final PrivateKey privateKey=key.getPrivate();
final PublicKey publickey=key.getPublic();
その後、これらのキーはBase64エンコーダーを使用してエンコードされ、データベースに保存されます。
このエンコードされた文字列をJavaで秘密鍵と公開鍵の種類に変換する方法。Base64Decoderを使用してこの文字列をデコードすると、バイト配列が取得されます。このバイト配列をパブリックまたはプライベートに変換する方法キータイプ?
キーのgetEncoded()の出力を表すbyte []がある場合、KeyFactoryを使用してPublicKeyオブジェクトまたはPrivateKeyオブジェクトに戻すことができます。
byte[] privateKeyBytes;
byte[] publicKeyBytes;
KeyFactory kf = KeyFactory.getInstance("RSA"); // or "EC" or whatever
PrivateKey privateKey = kf.generatePrivate(new PKCS8EncodedKeySpec(privateKeyBytes));
PublicKey publicKey = kf.generatePublic(new X509EncodedKeySpec(publicKeyBytes));