私はC#でいくつかのデータにデジタル署名しようとしています。すべてがエラーなく行われますが、私がRSACryptoServiceProvider.SignHashの結果を見たい場合、私は奇妙な結果を得ます。 ??!私はこのテキストを取得
System.Security.Cryptography.X509Certificates.X509Store store = new System.Security.Cryptography.X509Certificates.X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certCollection = store.Certificates.Find(X509FindType.FindBySubjectName, "SOME NAME", true);
X509Certificate2Enumerator enumerator = certCollection.GetEnumerator();
X509Certificate2 x509 = null;
while (enumerator.MoveNext()){
x509 = enumerator.Current;
}
store.Close();
RSACryptoServiceProvider csp = null;
csp = (RSACryptoServiceProvider)x509.PrivateKey;
if (csp == null){
throw new Exception("Valid certificate was not found");
}
string sTestText = "SomeTestData";
System.Text.ASCIIEncoding encoding=new System.Text.ASCIIEncoding();
SHA1Managed sha1 = new SHA1Managed();
ASCIIEncoding encoding2 = new System.Text.ASCIIEncoding();
byte[] data = encoding2.GetBytes(sTestText);
byte[] hash = sha1.ComputeHash(data);
Byte[] baSignedHash = csp.SignHash(hash, CryptoConfig.MapNameToOID("SHA1"));
string sSignedHash = System.Text.ASCIIEncoding.ASCII.GetString(baSignedHAsh);
Console.WriteLine("sSignedHash=" + sSignedHash);
:
はここに私のコードです sSignedHash =H↨??? C↑X ?????? sPotpisaniHash = J1 ?? Qを???? 7 G ?? D 5 = Dcと6C ????♀?? J P♠♥{♫?? [I↔?????◄??;?????????!? ??}Sx☺> VN?I6?☻ '??▲F ??トン@?E?↕?▬?? ??►kV?' ???☻GX ??} X @ ???)? ?F?7TP?♂& ??
私はさまざまなエンコーディング(UTF8など)を試しましたが、運はありませんでした。何が問題なのかをenyoneは知っていますか?
ありがとうございました。それは本当に助けになりました。今私は違いを得る。 :) –