秘密鍵を使用して文字列またはバイト配列に署名する方法を教えてください。お願いします。 2週間私はそれを達成しようとしています。 私はコードを持っています:秘密鍵を使用して文字列に署名する
private static byte[] createSignature(byte[] file) {
byte[] signature = null;
try {
java.security.KeyStore keyStoreFile = java.security.KeyStore
.getInstance("PKCS12");
keyStoreFile.load(new FileInputStream("keyStore.pfx"),
"password".toCharArray());
// nuskaitomas privatus raktas iš failo
PrivateKey privateKey = (PrivateKey) keyStoreFile.getKey(
"alais", "password".toCharArray());
Signature dsa = Signature.getInstance(SHA1withRSA);
dsa.initSign(privateKey);
dsa.update(file, 0, file.length);
signature = dsa.sign();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return signature;
}
これは単なる署名です。 。
そのコードはあなたに署名を与えるでしょう。あなたは公開鍵を使ってそれを検証できるはずです。他に何か要りますか? – Thilo
「これは単なる署名です」とはどういう意味ですか?あなたのコードはあなたが求めていることをしているようです。あなたが何かを意味する場合は、自分自身をより明確にしてください – Neal
すべてに感謝します。私は2つの変数を掲示しなければなりません:1.署名されたデータ(文字列)秘密鍵と2.signatureを使用します。私はその違いを理解していない。それはどちらですか? – innspiron