Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Load RSA Public Key from Hex Modulus and ExponentLoad an RSA public key from a hex modulus and exponent.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @success int -- Load a 128-byte (1024-bit) modulus + exponent into a Chilkat public key object.. DECLARE @modulus nvarchar(4000) SELECT @modulus = 'BF5F4AF9A018B5F324A0C10448C0D3248D9BE78967FDC551A27876AC5789ADCBA8245D3D942AE3799563D895DA801E765D225A54FA15DAB2C4731DD817DCF94A9AD62197074C2349442093A206234BF3747F0E88AA6F538355684CC1FB26FCE029C9050A1DAF9F507C2BABF6EFC9FB16320C8036721BE0279FBB76122C41E429' DECLARE @exponent nvarchar(4000) SELECT @exponent = '00000003' -- We'll need to re-encode from hex to base64.. DECLARE @bdModulus int -- Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.BinData', @bdModulus OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OAMethod @bdModulus, 'AppendEncoded', @success OUT, @modulus, 'hex' DECLARE @bdExponent int -- Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.BinData', @bdExponent OUT EXEC sp_OAMethod @bdExponent, 'AppendEncoded', @success OUT, @exponent, 'hex' DECLARE @xml int -- Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Xml', @xml OUT EXEC sp_OASetProperty @xml, 'Tag', 'RsaKeyValue' EXEC sp_OAMethod @bdModulus, 'GetEncoded', @sTmp0 OUT, 'base64' EXEC sp_OAMethod @xml, 'NewChild2', NULL, 'Modulus', @sTmp0 EXEC sp_OAMethod @bdExponent, 'GetEncoded', @sTmp0 OUT, 'base64' EXEC sp_OAMethod @xml, 'NewChild2', NULL, 'Exponent', @sTmp0 -- Now load into the pubkey object.. DECLARE @pubkey int -- Use "Chilkat_9_5_0.PublicKey" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.PublicKey', @pubkey OUT EXEC sp_OAMethod @xml, 'GetXml', @sTmp0 OUT EXEC sp_OAMethod @pubkey, 'LoadFromString', @success OUT, @sTmp0 IF @success = 0 BEGIN EXEC sp_OAGetProperty @pubkey, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @bdModulus EXEC @hr = sp_OADestroy @bdExponent EXEC @hr = sp_OADestroy @xml EXEC @hr = sp_OADestroy @pubkey RETURN END PRINT 'Success.' EXEC @hr = sp_OADestroy @bdModulus EXEC @hr = sp_OADestroy @bdExponent EXEC @hr = sp_OADestroy @xml EXEC @hr = sp_OADestroy @pubkey END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.