Dart.PowerTCP.SslSockets Namespace > CertificateReceivedEventArgs Class : TrustedRoot Property |
Returns whether or not the certificate is from a Trusted Root Authority.
[Visual Basic]
Public ReadOnly Property TrustedRoot As Boolean
[C#]
public bool TrustedRoot {get;}
[C++]
public: __property bool get_TrustedRoot();
A boolean indicating whether or not the certificate is from a Trusted Root Authority.
Trusted Root Authorities are found in the certificate store named "Trust". When a certificate is received, the 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 (IssuerName) is known to you and you trust it (in which case it should be added to the Trusted list).
The following example demonstrates creating a simple secure client.
[Visual Basic]
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#]
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;
}
}
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
CertificateReceivedEventArgs Class | CertificateReceivedEventArgs Members
Send comments on this topic.
Documentation version 1.1.2.0.
© 2008 Dart Communications. All rights reserved.