Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
Duplicate openssl dgst -md5 -sign myKey.pem something.txt | openssl enc -base64 -ADemonstrates how to duplicate the creation of an RSA signature produced by this OpenSSL command: openssl dgst -md5 -sign myKey.pem something.txt | openssl enc -base64 -A
CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @sTmp0 nvarchar(4000) DECLARE @pkey int EXEC @hr = sp_OACreate 'Chilkat.PrivateKey', @pkey OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- Load the private key from an RSA PEM file: EXEC sp_OAMethod @pkey, 'LoadPemFile', NULL, 'myKey.pem' DECLARE @success int DECLARE @pkeyXml nvarchar(4000) -- Get the private key in XML format: EXEC sp_OAMethod @pkey, 'GetXml', @pkeyXml OUT DECLARE @rsa int EXEC @hr = sp_OACreate 'Chilkat.Rsa', @rsa OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- Any string argument automatically begins the 30-day trial. EXEC sp_OAMethod @rsa, 'UnlockComponent', @success OUT, '30-day trial' IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rsa, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- Import the private key into the RSA component: EXEC sp_OAMethod @rsa, 'ImportPrivateKey', @success OUT, @pkeyXml IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rsa, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 RETURN END -- OpenSSL uses BigEndian byte ordering: EXEC sp_OASetProperty @rsa, 'LittleEndian', 0 -- The resulting signature will be a Base64 string: EXEC sp_OASetProperty @rsa, 'EncodingMode', 'base64' -- For simplicity, we're not loading -- the data to be signed from a file. We are instead simply -- using a literal string value. DECLARE @strData nvarchar(4000) SELECT @strData = 'This is the text to be signed.' -- Hash the input using MD5, and then sign the hash: -- Other valid hash algorithm choices are "md2" and "sha-1". DECLARE @base64Sig nvarchar(4000) EXEC sp_OAMethod @rsa, 'SignStringENC', @base64Sig OUT, @strData, 'md5' PRINT @base64Sig PRINT 'Success!' END GO |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.