秘密鍵と公開鍵の実際の値を KeyPair オブジェクトから取得する方法を知りたいと思いました。それらをエクスポートしてデータベースに保存する必要があるからです。
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(1024);
KeyPair keyPair = kpg.genKeyPair();
System.out.println("Public key " + keyPair.getPublic());
System.out.println("Private key " + keyPair.getPrivate());
出力は次のとおりです。
Public key Sun RSA public key, 1024 bits
modulus: 105712092415375085805423498639048173422142354311030811647243014925610093650322108853068042919471115278002432342007597147610508132502035047888382465733153739247741208519707861808073276783311634229563965825609200080862631487160732889423591650215084096832366499080850540875321197564283324922935557797293830551071
public exponent: 65537
Private key sun.security.rsa.RSAPrivateCrtKeyImpl@35e71