Visual FoxPro
Visual FoxPro
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 FoxPro Downloads
LOCAL lnSuccess
LOCAL loCert
LOCAL loXml
LOCAL lcUpn
lnSuccess = 0
loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCert.LoadFromFile("qa_data/certs/sample.cer")
IF (lnSuccess = 0) THEN
? loCert.LastErrorText
RELEASE loCert
CANCEL
ENDIF
loXml = CreateObject('Chilkat.Xml')
loXml.LoadXml(loCert.SubjectAlternativeName)
? loXml.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.
lcUpn = loXml.ChilkatPath("/A/name,oid,1.3.6.1.4.1.311.20.2.3|*")
IF (loXml.LastMethodSuccess = 0) THEN
? "No user principle name."
ELSE
? "User Principle Name = " + lcUpn
ENDIF
RELEASE loCert
RELEASE loXml