Sample code for 30+ languages & platforms
SQL Server

Get Text Certificate Extensions by OID

See more Certificates Examples

Demonstrates how to get text certificate extensions by OID. In this example, we have a certificate with the following OID extensions: 1.3.6.1.4.1.49952.5.8.5, 1.3.6.1.4.1.49952.5.8.6, 1.3.6.1.4.1.49952.5.8.7.

Most certificate extensions have values that are ASN.1 (binary). For the majority of cases, an application should call GetExtensionAsXml. For extensions known to have text values (such as the OIDs listed above), an application can instead call GetExtensionAsText.

The GetExtensionAsText method is added in Chilkat v9.5.0.89.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @success int
    SELECT @success = 0

    DECLARE @cert int
    EXEC @hr = sp_OACreate 'Chilkat.Cert', @cert OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    EXEC sp_OAMethod @cert, 'LoadFromFile', @success OUT, 'qa_data/certs/PUH9.cer'
    IF @success = 0
      BEGIN
        EXEC sp_OAGetProperty @cert, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @cert
        RETURN
      END

    DECLARE @oid nvarchar(4000)
    SELECT @oid = '1.3.6.1.4.1.49952.5.8.5'
    DECLARE @str nvarchar(4000)
    EXEC sp_OAMethod @cert, 'GetExtensionAsText', @str OUT, @oid
    EXEC sp_OAGetProperty @cert, 'LastMethodSuccess', @iTmp0 OUT
    IF @iTmp0 = 1
      BEGIN


        PRINT @oid + ': ' + @str
      END

    SELECT @oid = '1.3.6.1.4.1.49952.5.8.6'
    EXEC sp_OAMethod @cert, 'GetExtensionAsText', @str OUT, @oid
    EXEC sp_OAGetProperty @cert, 'LastMethodSuccess', @iTmp0 OUT
    IF @iTmp0 = 1
      BEGIN


        PRINT @oid + ': ' + @str
      END

    SELECT @oid = '1.3.6.1.4.1.49952.5.8.7'
    EXEC sp_OAMethod @cert, 'GetExtensionAsText', @str OUT, @oid
    EXEC sp_OAGetProperty @cert, 'LastMethodSuccess', @iTmp0 OUT
    IF @iTmp0 = 1
      BEGIN


        PRINT @oid + ': ' + @str
      END

    EXEC @hr = sp_OADestroy @cert


END
GO