PowerTCP Mail for .NET
CertificateReceivedEventArgs Class
Members  Example  See Also  Send comments on this topic.
Dart.PowerTCP.Mail Namespace : CertificateReceivedEventArgs Class




Provides data for any event where certificates are received.

Object Model

CertificateReceivedEventArgs ClassCertificate Class

Syntax

Visual Basic (Declaration) 
Public Class CertificateReceivedEventArgs 
   Inherits System.EventArgs
Visual Basic (Usage)Copy Code
Dim instance As CertificateReceivedEventArgs
C# 
public class CertificateReceivedEventArgs : System.EventArgs 
Managed Extensions for C++ 
public __gc class CertificateReceivedEventArgs : public System.EventArgs 
C++/CLI 
public ref class CertificateReceivedEventArgs : public System.EventArgs 

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

A CertificateReceivedEventArgs object is passed as a parameter to all events that report the receipt of a certificate from the remote server. Use this object to determine if the received certificate is valid. If any portion of the certificate is determined to be invalid (for example, if Certificate.ExpirationDate has passed), the CertificateEventArgs.Accept property will be false, indicating that the certificate will not be accepted. Set Certificate.Accept to true to override this.

If your code causes an exception, it would be returned to the handling event without you seeing it. To preclude such a condition, you should ALWAYS use a try/ catch block around your event-handling code.

Inheritance Hierarchy

System.Object
   System.EventArgs
      Dart.PowerTCP.Mail.CertificateReceivedEventArgs

Requirements

Target Platforms: Microsoft .NET Framework 2.0

See Also

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