私の署名を確認したい。私はこのコードを使用しますデジタル署名を確認する
var encoder = new UTF8Encoding();
byte[] bytesToVerify = encoder.GetBytes(LoginChallenge);
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
RSAKeyInfo.Modulus = publickey1;
rsa.ImportParameters(RSAKeyInfo);
bool suc = rsa.VerifyData(bytesToVerify, CryptoConfig.MapNameToOID("SHA1"), signedBytes);
私はバイト配列形式で公開鍵を持っています。それは私のdbにあります。常にこの
偽= SUCのように。私はbytetoverifyがメソッド値の入力値と同じ値を持っていると確信しています。
私のsignメソッド:私はこのように私の生成、公開鍵を知らない
Signature signature=Signature.getInstance(Signature.ALG_RSA_SHA_PKCS1,false);
signature.init(thePrivateKey,Signature.MODE_SIGN);
signLength=signature.sign(buffer,(short)(ISO7816.OFFSET_CDATA & 0xFF), inputlength, buffer, (short)(0));
apdu.setOutgoingAndSend((short)0,signLength);
は、問題や記号が問題を持っています。私はsh1とpkcs1を使っていますが、私はsh1しか見つけていません。
すべての体は私を助けますか?
**任意の**形式は、コンピュータ上のバイト配列形式です。より具体的で、あなたが試したことを示す必要があります。すべてのバイトを16進数で表示するとよいでしょう。それは* public *キーですよね? –
お返事ありがとうございます。はい私は画像としてSQL Serverに公開鍵を保存しました。私はそれをフェッチして、それをrsaパラメータに変換したい。私はdbの公開鍵を見ることができません。それはimageのようなものです。そして、それは16進形式です – Fatemeh