Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Email

li_Success = 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).

loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")
if li_rc < 0 then
    destroy loo_Email
    MessageBox("Error","Connecting to COM object failed")
    return
end if

li_Success = loo_Email.LoadEml("qa_data/eml/signed.eml")
if li_Success = 0 then
    Write-Debug loo_Email.LastErrorText
    destroy loo_Email
    return
end if

if loo_Email.ReceivedSigned = 1 then
    Write-Debug "Signed by: " + loo_Email.SignedBy
else
    Write-Debug "This email was not signed."
end if

//  Note: Paths such as "qa_data/..." are relative local filesystem paths,
//  relative to the current working directory of the running application.


destroy loo_Email