The Visual Basic fragment below prints a description of the SSL session in which a SesssionManager::Session proxy was created:
Public Function SessionDetails( _ title As String, _ obj As JaguarTypeLibary.Object _ ) Me.Caption = title Call clearOutput output (title & ":" & vbCrLf) Dim sslSess As CtsSecurity.SSLSession Dim sslSessInfo As CtsSecurity.SSLSessionInfo Dim host, port, prop As String Dim inError As Boolean inError = False On Error GoTo errorGetSession Set sslSess = obj.Narrow_("CtsSecurity/SSLSession") Set sslSessInfo = sslSess. _ getSessionInfo.Narrow_("CtsSecurity/SSLSessionInfo") On Error GoTo errorGetProperties host = sslSessInfo.getProperty("host") port = sslSessInfo.getProperty("port") output ("Connected to " & host & ":" & port & vbCrLf) prop = sslSessInfo.getProperty("cipherSuite") output ("Negotiated CipherSuite: " & prop & vbCrLf) ' Print the server certificate details On Error GoTo errorGetServerCert Dim cert As CtsSecurity.X509Certificate Set cert = sslSessInfo.getPeerCertificate().Narrow_("CtsSecurity/X509Certificate") output (vbCrLf & "Server certificate info:" & vbCrLf) output (certInfo(cert)) ' Print the client certificate details On Error GoTo errorGetClientCert Set cert = sslSessInfo. getCertificate().Narrow_("CtsSecurity/X509Certificate") output (vbCrLf & "Personal certificate info:" & vbCrLf) output (certInfo(cert))
inError = True ' Fall through error cases
' Error handling code. Labels are in reverse order of the ' On Error activations.
' Code to handle errors when retrieving the client certificate. ' Sessions will not have a client certificate unless mutual ' authentication is used. So, this is not necessarily an error. errorGetClientCert: If Not inError Then inError = True output (vbCrLf & "No personal certificate in use." & vbCrLf) End If
' Code to handle errors raised when getting the server certificate. ' If a connection uses SSL, it should at least have a server certificate, ' so errors raised are likely due to coding errors. errorGetServerCert: If Not inError Then inError = True output (vbCrLf & "** Error retrieving server certificate properties. **" _ & vbCrLf) End If
' Code for errors raised when retrieving session properties. Any error ' raised is likely due to a coding error. errorGetProperties: If Not inError Then inError = True output ("Error retrieving SSL session properties." & vbCrLf) End If
' Code for errors raised when retrieving the session information. ' Errors here most likely mean that the connection does not use SSL. errorGetSession: If Not inError Then inError = True output ("SSL not used on this connection.") End If ' All error handlers must fall through to here. Me.Show End Function
Copyright © 2005. Sybase Inc. All rights reserved. |