Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
RSA Signature/Verify with .key and .cerDemonstrates how to use a .key file (private key) and digital certificate (.cer, public key) to create and verify an RSA signature. LOCAL loPrivKey LOCAL lnSuccess LOCAL lcPrivKeyXml LOCAL loRsa LOCAL lcStrData LOCAL lcHexSig LOCAL loCert LOCAL loPubKey LOCAL loRsa2 loPrivKey = CreateObject('Chilkat.PrivateKey') * Load the private key from an RSA .key file: lnSuccess = loPrivKey.LoadPemFile("privateKey.key") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loPrivKey.LastErrorText) QUIT ENDIF * Get the private key in XML format: lcPrivKeyXml = loPrivKey.GetXml() loRsa = CreateObject('Chilkat.Rsa') * Any string argument automatically begins the 30-day trial. lnSuccess = loRsa.UnlockComponent("30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loRsa.LastErrorText) QUIT ENDIF * Import the private key into the RSA component: lnSuccess = loRsa.ImportPrivateKey(lcPrivKeyXml) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loRsa.LastErrorText) QUIT ENDIF * Create the signature as a hex string: loRsa.EncodingMode = "hex" lcStrData = "This is the string to be signed." * Sign the string using the sha-1 hash algorithm. * Other valid choices are "md2" and "md5". lcHexSig = loRsa.SignStringENC(lcStrData,"sha-1") ? lcHexSig * Load a digital certificate from a .cer file: loCert = CreateObject('Chilkat.Cert') lnSuccess = loCert.LoadFromFile("myCert.cer") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loCert.LastErrorText) QUIT ENDIF loPubKey = loCert.ExportPublicKey() * Now verify using a separate instance of the RSA object: loRsa2 = CreateObject('Chilkat.Rsa') * Import the public key into the RSA object: lnSuccess = loRsa2.ImportPublicKey(loPubKey.GetXml()) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loRsa2.LastErrorText) QUIT ENDIF RELEASE loPubKey * The signature is a hex string, so make sure the EncodingMode is correct: loRsa2.EncodingMode = "hex" * Verify the signature: lnSuccess = loRsa2.VerifyStringENC(lcStrData,"sha-1",lcHexSig) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loRsa2.LastErrorText) QUIT ENDIF =MESSAGEBOX("Success.") |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser