Sample code for 30+ languages & platforms
Visual Basic 6.0

Get Certificate User Principal Name (UPN)

See more Certificates Examples

Demonstrates how to get a certificate's UPN from the SAN (Subject Alternative Name). Most certificates do not have a UPN. This example only applies to those certificates that have a User Principal Name.

Note: This example requires Chilkat v9.5.0.90 or greater due to fixes made in getting the UPN from the SAN.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

Dim cert As New ChilkatCert

success = cert.LoadFromFile("qa_data/certs/sample.cer")
If (success = 0) Then
    Debug.Print cert.LastErrorText
    Exit Sub
End If

Dim xml As New ChilkatXml
success = xml.LoadXml(cert.SubjectAlternativeName)
Debug.Print xml.GetXml()

' A certificate with a User Principal Name in the SAN might have this:

' <SubjectAltName>
'     <rfc822Name>joe@example.com</rfc822Name>
'     <name type="oid" oid="1.3.6.1.4.1.311.20.2.3">joe@example.com</name>
' </SubjectAltName>

' The OID 1.3.6.1.4.1.311.20.2.3 is for the User Principal Name.
Dim upn As String
upn = xml.ChilkatPath("/A/name,oid,1.3.6.1.4.1.311.20.2.3|*")
If (xml.LastMethodSuccess = 0) Then
    Debug.Print "No user principle name."
Else
    Debug.Print "User Principle Name = " & upn
End If