SQL Server
SQL Server
Clear the Encryption Certificates of an Email
See more Email Object Examples
Demonstrates the Chilkat Email.ClearEncryptCerts method, which clears the internal list of explicitly specified certificates used when sending encrypted email — the certificates previously added with AddEncryptCert or SetEncryptCert. This example adds a recipient certificate and then clears the list.
Background: When encrypting to multiple recipients you register each one's certificate with
AddEncryptCert. If an Email object is reused for different sets of recipients, those registered certificates would otherwise persist. ClearEncryptCerts resets that list so the next encrypted message is protected for exactly the intended recipients — a useful safeguard against accidentally encrypting for a stale recipient.Chilkat SQL Server Downloads
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
-- Demonstrates the ClearEncryptCerts method, which clears the internal list of explicitly
-- specified certificates used for sending encrypted email (the certificates added by
-- AddEncryptCert / SetEncryptCert).
DECLARE @email int
EXEC @hr = sp_OACreate 'Chilkat.Email', @email OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
-- Add a recipient certificate to the encryption cert list...
DECLARE @cert int
EXEC @hr = sp_OACreate 'Chilkat.Cert', @cert OUT
EXEC sp_OAMethod @cert, 'LoadFromFile', @success OUT, 'qa_data/certs/recipient.cer'
IF @success = 0
BEGIN
EXEC sp_OAGetProperty @cert, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @email
EXEC @hr = sp_OADestroy @cert
RETURN
END
EXEC sp_OAMethod @email, 'AddEncryptCert', @success OUT, @cert
IF @success = 0
BEGIN
EXEC sp_OAGetProperty @email, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @email
EXEC @hr = sp_OADestroy @cert
RETURN
END
-- ...then clear all explicitly-specified encryption certificates.
EXEC sp_OAMethod @email, 'ClearEncryptCerts', NULL
PRINT 'Cleared the explicitly-specified encryption certificates.'
-- Note: The path "qa_data/certs/recipient.cer" is a relative local filesystem path,
-- relative to the current working directory of the running application.
EXEC @hr = sp_OADestroy @email
EXEC @hr = sp_OADestroy @cert
END
GO