JDK security APIを使用できます。この作業sampleを見てみましょう、それはあなたが始めることを願って:
public static void main(String[] args) throws Exception {
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(1024);
KeyPair keyPair = kpg.genKeyPair();
byte[] data = "test".getBytes("UTF8");
Signature sig = Signature.getInstance("MD5WithRSA");
sig.initSign(keyPair.getPrivate());
sig.update(data);
byte[] signatureBytes = sig.sign();
System.out.println("Singature:" + new BASE64Encoder().encode(signatureBytes));
sig.initVerify(keyPair.getPublic());
sig.update(data);
System.out.println(sig.verify(signatureBytes));
}
EDIT: の例では、上記の内部日のエンコーダ(sun.misc.BASE64Encoder
)を使用しています。 Commons Codec
からBase64のようなものを使用するのが最善です。
あなたのコードは、(bashのコードの例を参照)、ファイル形式の秘密鍵を負いません。 –
ここには[サンプル](http://codeartisan.blogspot.com/2009/05/public-key-cryptography-in-java.html)のキーの読み方があります。キーがPKCS8形式であることを確認してください。 – tenorsax
Java 8にはデコーダ 'java.util.Base64.getDecoder' –