Frequently Asked Questions

How to sign something using wodCrypt, and verify signature with C#?

Code to sign text "ABCD" with key stored as XML (so can be loaded by C#):


Code:

Dim k As New Keys 
Dim outb As New MemBlob 
Dim indata As New MemBlob 
indata.Text = "ABCD"
 

Dim crypt As New wodCryptCom 
crypt.Type = RSA 
k.FromXmlString ("<RSAKeyValue><Modulus>26NtFkEYNumpdM9/1Ie+TnoBaOCi6ZtGdrfFcFP7Aq/0zSt2iLPeu1mIwpO4x445mdsm3D+R5fgF/5bdSXPmh7QpeElG5GbkCO6YnLRoktOLu2TtEME59ripyMVeM8xahJj+8BnkKsZrwj2mPFlYxmc+DBIuRGm3f8FfDf5kpmc=</Modulus><Exponent>AQAB</Exponent><P>7p6tANYwpDzObpAq5sJiBJA01DuDA89ZpcO6t3JGf8q+kp5gcq5sgwfqVvxHgjCP3kN1IdXLs4zLVjVm+VGpfQ==</P><Q>66LSIRclT3mcWJkqiRj3gxeKIuQZ6KyPMJZqZGGcp3uwHblJr1bJrlLsqz2RwDdnmIhuEWM5gOCdl93lQ8D0sw==</Q><DP>oJ5qcY+7ujG7+qxMVHwvoka3aMyOSfg+rdfsTSM81TRRxzuYTFmgbSrc0KSMNdQeY0whAh95OGjjTiowIE6ZuQ==</DP><DQ>OWtpzQp42w8FXEmmpdXhqp432RzAe4RhODPPJTrsE5v+ZJ/cJs/9QW+PoILWW4KkyfSk7bPCNXeGr5Uw4vvIJQ==</DQ><InverseQ>K/ekbIbFzWufoBbhJz1U/8+XWXCei5og/tWyhvWLsaFnushtRzU8k92/VI9F+CHtHoEjwHtZaalRNoL1zoVvxQ==</InverseQ><D>Sky8qFyY7mqZEpTnL2REMpP/ShVDxzbp3VtJhThDn6MacxWS4afHXyVoqDoEti0cuzlxqewvVNZUYSQN870rbHhMivKOzyuTcP7yG+/Kvmk31LroV5jOOjAmtLyzt5hAdTDg9UBmweJzeL//aH3oNHkOhVj3KczDJXmRFRhqwbE=</D></RSAKeyValue>")
crypt.SecretKey = k.PrivateKey(RSAkey) 
crypt.Sign indata, outb 
Debug.Print outb.ToBase64

 

Result:
 

Code:

IRH1ZMSKABNYFS/NRIIrG9LJ03aQ3oQ3qifW9qjI0tdJO/cDCP+f4FLUKCzoRpHb7hkoJpy9yKUX6nhQ CtKd/sL9WfYbZwbKhB0oVja/qrN3XprFcqi+qLZ9qcbibkLT1hiJiDCUxCg61sGwfTjEoINcVX/4T4Cx veSH1HKzDZI=
 

C# code that verifies signature: 


 String publickey ="<RSAKeyValue><Modulus>26NtFkEYNumpdM9/1Ie+TnoBaOCi6ZtGdrfFcFP7Aq/0zSt2iLPeu1mIwpO4x445mdsm3D+R5fgF/5bdSXPmh7QpeElG5GbkCO6YnLRoktOLu2TtEME59ripyMVeM8xahJj+8BnkKsZrwj2mPFlYxmc+DBIuRGm3f8FfDf5kpmc=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>"; 
String signature = "IRH1ZMSKABNYFS/NRIIrG9LJ03aQ3oQ3qifW9qjI0tdJO/cDCP+f4FLUKCzoRpHb7hkoJpy9yKUX6nhQCtKd/sL9WfYbZwbKhB0oVja/qrN3XprFcqi+qLZ9qcbibkLT1hiJiDCUxCg61sGwfTjEoINcVX/4T4CxveSH1HKzDZI="; 
CspParameters cspParam; 
cspParam= new CspParameters(); 
cspParam.Flags = CspProviderFlags.UseMachineKeyStore; 
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(cspParam); 
RSA.FromXmlString(publickey); 
byte[] StrAsByte= System.Text.Encoding.Default.GetBytes("ABCD"); 
byte[] SigBytes = System.Convert.FromBase64String(signature); 
if (RSA.VerifyData(StrAsByte, "MD5", SigBytes)) 
Console.Write("Success"); 
else 
Console.Write("Failure"); 


 Last updated Thu, Nov 7 2013 11:00pm

Please Wait!

Please wait... it will take a second!