![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Find Certificate by Email AddressLocate the certificate containing the specified email address in either the RFC822 Name or the Subject. Note: This example requires Chilkat v10.1.2 or later.
-- 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 @certStore int -- Use "Chilkat_9_5_0.CertStore" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.CertStore', @certStore OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- This opens the Current User certificate store on Windows, -- On MacOS and iOS it opens the default Keychain. DECLARE @readOnly int SELECT @readOnly = 1 DECLARE @success int EXEC sp_OAMethod @certStore, 'OpenCurrentUserStore', @success OUT, @readOnly IF @success = 0 BEGIN EXEC sp_OAGetProperty @certStore, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @certStore RETURN END -- Locate the certificate containing the specified email address in either the RFC822 Name or the Subject. DECLARE @json int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT DECLARE @email_address nvarchar(4000) SELECT @email_address = 'harold@example.com' EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'email', @email_address DECLARE @cert int -- Use "Chilkat_9_5_0.Cert" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Cert', @cert OUT EXEC sp_OAMethod @certStore, 'FindCert', @success OUT, @json, @cert IF @success = 1 BEGIN -- Show the full distinguished name of the certificate. EXEC sp_OAGetProperty @cert, 'SubjectDN', @sTmp0 OUT PRINT 'Found: ' + @sTmp0 END ELSE BEGIN PRINT 'Not found.' END EXEC @hr = sp_OADestroy @certStore EXEC @hr = sp_OADestroy @json EXEC @hr = sp_OADestroy @cert END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.