Sample code for 30+ languages & platforms
VB.NET

Binary Certificate Extension Data

See more Certificates Examples

Demonstrates how to binary certificate extension data by OID.

The GetExtensionBd method is added in Chilkat v9.5.0.96.

Chilkat VB.NET Downloads

VB.NET
Dim success As Boolean = False

Dim cert As New Chilkat.Cert

success = cert.LoadFromFile("qa_data/certs/testCert.cer")
If (success = False) Then
    Debug.WriteLine(cert.LastErrorText)
    Exit Sub
End If


Dim bd As New Chilkat.BinData

' The particular certificate in this test contains the following extensions

Dim oid As String = "1.2.250.1.71.1.2.5"
success = cert.GetExtensionBd(oid,bd)
If (success = True) Then
    Debug.WriteLine(oid & ": " & bd.GetEncoded("hex_lower"))
End If


oid = "1.2.250.1.71.1.2.2"
success = cert.GetExtensionBd(oid,bd)
If (success = True) Then
    Debug.WriteLine(oid & ": " & bd.GetEncoded("hex_lower"))
End If


oid = "1.2.250.1.71.1.2.3"
success = cert.GetExtensionBd(oid,bd)
If (success = True) Then
    Debug.WriteLine(oid & ": " & bd.GetEncoded("hex_lower"))
End If


oid = "1.2.250.1.71.1.2.7"
success = cert.GetExtensionBd(oid,bd)
If (success = True) Then
    Debug.WriteLine(oid & ": " & bd.GetEncoded("hex_lower"))
End If


oid = "1.2.250.1.71.4.2.5"
success = cert.GetExtensionBd(oid,bd)
If (success = True) Then
    Debug.WriteLine(oid & ": " & bd.GetEncoded("hex_lower"))
End If


' Sample output:
' 1.2.250.1.71.1.2.5: 040180
' 1.2.250.1.71.1.2.2: 020100
' 1.2.250.1.71.1.2.3: 1315383032353030303030312f32393030303539313432
' 1.2.250.1.71.1.2.7: 02010a
' 1.2.250.1.71.4.2.5: 30060c04534d3236

' The above binary values are actually ASN.1
' You can get the ASN.1 decoed by calling GetExtensionAsXml to get it in XML format,
' and then you extract the values from the XML.

oid = "1.2.250.1.71.1.2.5"
Dim strXml As String = cert.GetExtensionAsXml(oid)
If (cert.LastMethodSuccess = True) Then
    Debug.WriteLine(oid & ": " & strXml)
End If


oid = "1.2.250.1.71.1.2.2"
strXml = cert.GetExtensionAsXml(oid)
If (cert.LastMethodSuccess = True) Then
    Debug.WriteLine(oid & ": " & strXml)
End If


oid = "1.2.250.1.71.1.2.3"
strXml = cert.GetExtensionAsXml(oid)
If (cert.LastMethodSuccess = True) Then
    Debug.WriteLine(oid & ": " & strXml)
End If


oid = "1.2.250.1.71.1.2.7"
strXml = cert.GetExtensionAsXml(oid)
If (cert.LastMethodSuccess = True) Then
    Debug.WriteLine(oid & ": " & strXml)
End If


oid = "1.2.250.1.71.4.2.5"
strXml = cert.GetExtensionAsXml(oid)
If (cert.LastMethodSuccess = True) Then
    Debug.WriteLine(oid & ": " & strXml)
End If


' Sample output:
' 1.2.250.1.71.1.2.5: <octets>gA==</octets>
' 1.2.250.1.71.1.2.2: <int>00</int>
' 1.2.250.1.71.1.2.3: <printable>8025000001/2900059142</printable>
' 1.2.250.1.71.1.2.7: <int>0A</int>
' 1.2.250.1.71.4.2.5: <sequence><utf8>SM26</utf8></sequence>

' "gA==" is the base64 encoded byte values
' "0A" is hex for decimal 1