CertificateIssuer Property  

Returns information about the organization that issued the server certificate.




The CertificateIssuer property returns a string that contains information about the organization that issued the server certificate. The string value is a comma separated list of tagged name and value pairs. In the nomenclature of the X.500 standard, each of these pairs are called a relative distinguished name (RDN), and when concatenated together, forms the issuer's distinguished name (DN). For example:

C=US, O="RSA Data Security, Inc.", OU=Secure Server Certification Authority

To obtain a specific value, such as the name of the issuer or the issuer's country, the application must parse the string returned by this property. Some of the common tokens used in the distinguished name are:

Name Description
C The ISO standard two character country code
S The name of the state or province
L The name of the city or locality
O The name of the company or organization
OU The name of the department or organizational unit
CN The common name; with X.509 certificates, this is the domain name of the site the certificate was issued for

This property will return an empty string if a secure connection has not been established with the server.

Data Type



Function GetCertNameValue(ByVal strValue As String, ByVal strFieldName As String) As String
    Dim strFieldValue As String
    Dim cchValue As Integer, cchFieldName As Integer
    Dim nOffset As Integer
    GetCertNameValue = ""
    cchValue = Len(strValue)
    cchFieldName = Len(strFieldName)
    If cchValue = 0 Or cchFieldName = 0 Then
         Exit Function
    End If
    nOffset = InStr(strValue, strFieldName & "=")
    If nOffset > 0 Then
         ' If the field name was found in the string, then
         ' remove everything to the left of the token from
         ' the string
         strFieldValue = Right(strValue, cchValue - (nOffset + cchFieldName))
         ' If the value is quoted, then strip off the leading
         ' quote and look for the ending quote in the string;
         ' otherwise look for the comma that marks the end of
         ' the field name/value pair
         If Left(strFieldValue, 1) = Chr(34) Then
              strFieldValue = Right(strFieldValue, Len(strFieldValue) - 1)
              nOffset = InStr(strFieldValue, Chr(34))
              nOffset = InStr(strFieldValue, ",")
         End If
         ' If the offset is 0, then the name/value pair is
         ' the last token in the string; otherwise, remove
         ' everything to the right of that position
         If nOffset > 0 Then
              strFieldValue = Left(strFieldValue, nOffset - 1)
         End If
         GetCertNameValue = strFieldValue
    End If
End Function
Dim strIssuer As String
Dim strCompanyName As String
strIssuer = FileTransfer1.CertificateIssuer
If Len(strIssuer) = 0 Then
     MsgBox "A secure connection has not been established"
     strCompanyName = GetCertNameValue(strIssuer, "O")
     MsgBox "This certificate was issued by " & strCompanyName
End If

See Also

CertificateExpires Property, CertificateIssued Property, CertificateStatus Property, CertificateSubject Property, Secure Property