2017-01-28 8 views
0

thisチュートリアルを使用して、SHA256withRSAアルゴリズムを使用して文書に署名できるJavaプログラムを作成しました。出力では、公開鍵と署名ファイルを取得します。opensslでJavaでデジタル署名を確認

opensslでファイルを確認しようとしましたが、できません...ネットで検索していましたが、標準の.pemキーが必要かもしれないことがわかりました。私の鍵をpem形式に変換しますか?または、Javaで.pemキーを生成できますか?それが間違っている場合は、どのように署名を確認できますか?

+0

キーストアエクスプローラ(http://keystore-explorer.org/)を使用するようにしてください。鍵/証明書を希望の形式に変換することができます – lospejos

+0

署名を生成するために使用したJavaコードと署名の検証に使用したOpenSSLコマンド。 – jww

答えて

1

PEMファイルには、base64でエンコードされ、64文字の行に分割された公開鍵バイナリデータが含まれています。ファイルは、ヘッダ-----BEGIN PUBLIC KEY----------END PUBLIC KEY-----

JavaはPEMにネイティブ変換をしていないが、あなたが

を使用してバイナリキーの形式を使用したOpenSSLと署名を検証することができる代替的

PEMWriter pemWriter = new PEMWriter(new FileWriter(file)); 
pemWriter.writeObject(publicKey); 
pemWriter.flush(); 
pemWriter.close(); 

はBouncyCastle使用できるフッタを有します

-keyform DER 

は、次にファイルにあなたの公開鍵の内容を保存

byte publicKeyDer[] = publicKey.getEncoded() 
関連する問題