PowerTCP Mail for .NET
TrustedRoot Property
See Also  Send comments on this topic.
Dart.PowerTCP.Mail Namespace > CertificateReceivedEventArgs Class : TrustedRoot Property




Returns whether or not the certificate is from a Trusted Root Authority.

Syntax

Visual Basic (Declaration) 
Public ReadOnly Property TrustedRoot As Boolean
Visual Basic (Usage)Copy Code
Dim instance As CertificateReceivedEventArgs
Dim value As Boolean
 
value = instance.TrustedRoot
C# 
public bool TrustedRoot {get;}
Managed Extensions for C++ 
public: __property bool get_TrustedRoot();
C++/CLI 
public:
property bool TrustedRoot {
   bool get();
}

Property Value

A boolean indicating whether or not the certificate is from a Trusted Root Authority.

Example

The following example demonstrates creating a simple secure client.
Visual BasicCopy Code
Private Sub CertificateReceived(ByVal sender As Object, ByRef e As CertificateReceivedEventArgs) Handles Tcp1.CertificateReceived
   Dim msg As String = "The certificate was invalid for the following reason(s)" + vbCrLf

   ' Check to see if the certificate is from a trusted root.
   If Not e.TrustedRoot Then
      msg += "This certificate is not from a trusted root" + vbCrLf
   End If

   ' Check to see if the certificate has a valid date.
   If Not e.ValidDate Then
      msg += "This certificate does not have a valid date" + vbCrLf
   End If

   ' Check to see if the certificate has a valid name.
   If Not e.ValidName Then
      msg += "This certificate does not have a valid name" + vbCrLf
   End If

   If msg <> "" Then
      msg += "Would you like to accept this certificate anyway?"
      If MessageBox.Show(msg, "Invalid Cert Received", MessageBoxButtons.YesNo) = DialogResult.Yes Then
         e.Accept = True
      End If
   End If
End Sub
C#Copy Code
private void CertificateReceived(object sender, CertificateReceivedEventArgs e)
{
   string msg = "The certificate was invalid for the following reason(s)\n";

   // Check to see if the certificate is from a trusted root.
   if(!e.TrustedRoot)
      msg+= "This certificate is not from a trusted root\n";

   // Check to see if the certificate has a valid date.
   if(!e.ValidDate)
      msg+= "This certificate does not have a valid date\n";

   // Check to see if the certificate has a valid name.
   if(!e.ValidName)
      msg+= "This certificate does not have a valid name\n";

   if(!e.Accept)
   {
      msg += "Would you like to accept this certificate anyway?";
      if(MessageBox.Show(msg, "Invalid Cert Received", MessageBoxButtons.YesNo) == DialogResult.Yes)
         e.Accept = true;
   }
}

Remarks

Trusted Root Authorities are found in the certificate store named "Trust". When a certificate is received, the Certificate.IssuedTo is compared to the Trusted Root Authorities. If found, this property will be true. If this property is false, the root is not on the trusted list and you should not accept the certificate unless the authority (Certificate.IssuerName) is known to you and you trust it (in which case it should be added to the Trusted list).

Requirements

Target Platforms: Microsoft .NET Framework 2.0

See Also

Documentation Version 3.2
© 2010 Dart Communications. All Rights Reserved.