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 Certificate (.cer) and Private Key (.pvk) generated from makecertSee more Certificates ExamplesDemonstrates how to load a certificate (.cer) and private key (.pvk) from the files produced by makecert, such as in the following command: makecert -sv mycertificate.pvk -n "CN=My Simple Certificate" mycertificate.cer -sky Exchange
-- 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) -- First load the .cer file. -- The certificate file (.cer) contains only the certificate (does not include the private key) DECLARE @cert int -- Use "Chilkat_9_5_0.Cert" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Cert', @cert OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @cert, 'LoadFromFile', @success OUT, 'qa_data/certs_and_keys/makecert/mycertificate.cer' IF @success = 0 BEGIN EXEC sp_OAGetProperty @cert, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @cert RETURN END -- Next, load the .pvk file. -- Note: The password "secret" is what you entered when makecert displayed the dialog asking for a password.. DECLARE @privKey int -- Use "Chilkat_9_5_0.PrivateKey" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.PrivateKey', @privKey OUT EXEC sp_OAMethod @privKey, 'LoadPvkFile', @success OUT, 'qa_data/certs_and_keys/makecert/mycertificate.pvk', 'secret' IF @success = 0 BEGIN EXEC sp_OAGetProperty @privKey, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @privKey RETURN END -- Finally, associate the private key with the certificate. EXEC sp_OAMethod @cert, 'SetPrivateKey', @success OUT, @privKey IF @success = 0 BEGIN EXEC sp_OAGetProperty @cert, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @privKey RETURN END -- At this point, the certificate can be used for signing. For example.. DECLARE @pdf int -- Use "Chilkat_9_5_0.Pdf" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Pdf', @pdf OUT -- .... -- .... EXEC sp_OAMethod @pdf, 'SetSigningCert', @success OUT, @cert -- ... -- .... -- Some Chilkat classes also provide a method where the cert and private key can be passed separately. -- For example, if SetSigningCert2 is called, then we don't need to explicitly associate the private key with the cert. EXEC sp_OAMethod @pdf, 'SetSigningCert2', @success OUT, @cert, @privKey -- ... -- .... EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @privKey EXEC @hr = sp_OADestroy @pdf END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.