PureBasic
PureBasic
Get the Signer Details of a Signed Email
See more Email Object Examples
Demonstrates the read-only Chilkat Email.SignedBy property. If the email was received digitally signed, this contains the fields of the signer certificate's Subject Distinguished Name, for example: US, 94105, California, San Francisco, 100 Market Street, Northwind Research LLC, Engineering, Avery Morgan. The values appear without the attribute-name prefixes (C=, ST=, L=, O=, CN=). It is intended for display or diagnostics; use LastSignerCert when the certificate object itself is needed.
Background: Every certificate identifies its owner with a Subject Distinguished Name (Subject DN) — a structured set of fields like Country (
C), State (ST), Organization (O), and Common Name (CN). The CN is typically the person or entity the certificate was issued to. SignedBy gives you a human-readable rendering of that identity, which is handy for showing "who signed this?" without needing to parse the certificate yourself.Chilkat PureBasic Downloads
IncludeFile "CkEmail.pb"
Procedure ChilkatExample()
success.i = 0
; Demonstrates the read-only Email.SignedBy property. If the email was received
; digitally signed, this contains the fields of the signer certificate's SubjectDN
; (without the C=, ST=, L=, O=, CN= attribute names).
email.i = CkEmail::ckCreate()
If email.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkEmail::ckLoadEml(email,"qa_data/eml/signed.eml")
If success = 0
Debug CkEmail::ckLastErrorText(email)
CkEmail::ckDispose(email)
ProcedureReturn
EndIf
If CkEmail::ckReceivedSigned(email) = 1
Debug "Signed by: " + CkEmail::ckSignedBy(email)
Else
Debug "This email was not signed."
EndIf
; Note: Paths such as "qa_data/..." are relative local filesystem paths,
; relative to the current working directory of the running application.
CkEmail::ckDispose(email)
ProcedureReturn
EndProcedure