Enthält Informationen über die Netzwerkdatenströme für eine Synchronisation.
public interface NetworkData
Alle Mitglieder der NetworkData-Schnittstelle, einschließlich aller geerbten Mitglieder.
Name | Beschreibung |
---|---|
Gibt ein java.security.cert.CertPath-Objekt zurück, das alle vom Client geschickten Zertifikate enthält. | |
Gibt eine Zuordnungsobjekt zurück, das Header-Namen einer Liste von Header-Werten zuordnet. | |
Gibt den Wert des letzten vom Server empfangenen Headers mit dem angegebenen Namen zurück. | |
Gibt alle vom Server empfangenen Header-Werte zurück, die mit dem angegebenen Namen verknüpft sind. | |
Ermittelt, ob diese Synchronisation eine Punkt-zu-Punkt-Verschlüsselung hat. | |
Ermittelt, ob die Synchronisation HTTP oder HTTPS verwendet. | |
Ermittelt, ob diese Synchronisation TLS verwendet. |
Diese Schnittstelle ist nützlich, wenn die Benutzerauthentifizierung bei einem anderen Server im Unternehmen erfolgt, der das clientseitige Zertifikat und HTTP-Header verwendet.
Wenn Sie das Sammeln von Netzwerk-Datenstromdaten aktivieren möchten, fügen Sie den Parametern vom Typ -x den Wert collect_network_data=1 hinzu. Dadurch wird für jede Synchronisation zusätzlicher Speicher-Overhead zum Speichern der Daten erforderlich. Wenn Sie TLS oder HTTPS mit clientseitigen Zertifikaten verwenden, fügen Sie trusted_certificates=<Zertifikatdatei>=""> hinzu, damit der Server den Client während des TLS-Handshakes auffordert, ein Zertifikat zu senden. Dies ist jedoch mit Zeitaufwand und Netzwerkkosten verbunden.
Sie erhalten ein NetworkData-Objekt durch Aufruf der getNetworkData-Methode der DBConnectionContext-Klasse. Wenn Sie HTTP oder HTTPS verwenden, enthält es die Header-Daten für die letzte HTTP-Anforderung, die vom Server vor dem Aufruf der Authentifizierungsskripten empfangen wurden.
Das folgende Beispiel zeigt, wie ein NetworkData-Objekt vom DBConnectionContext-Objekt abgerufen und die Daten ausgegeben werden.
public class OrderProcessor { DBConnectionContext _cc; public OrderProcessor( DBConnectionContext cc ) { _cc = cc; } // The method used for the authenticate_user event. public void AuthUser() { NetworkData nd = _cc.getNetworkData(); if( nd != null ) { if( nd.isHTTP() ) { System.out.println( "http" ); String user_agent = nd.getHTTPHeaderValue( "user-agent" ); System.out.println( " user-agent: " + user_agent.substring( 0, user_agent.indexOf( '/' ) ) ); } else { System.out.println( "no http" ); } if( nd.isTLS() ) { System.out.println( "tls" ); CertPath certs = nd.getCertificateChain(); if( certs != null ) { System.out.println( " client-side cert:" ); int n = 1; for( Certificate c : certs.getCertificates() ) { System.out.println( " cert " + n++ ); X509Certificate c509 = (X509Certificate) c; System.out.println( " Subject: " + c509.getSubjectX500Principal().getName() ); System.out.println( " Issuer: " + c509.getIssuerX500Principal().getName() ); } } else { System.out.println( " no client cert" ); } } else { System.out.println( "no tls" ); } if( nd.isEndToEndEncrypted() ) { System.out.println( "e2ee" ); } else { System.out.println( "no e2ee" ); } } else { System.out.println( "NULL networkdata" ); } } } |
getCertificateChain-Methode
getHTTPHeaders-Methode
getHTTPHeaderValue-Methode
getHTTPHeaderValues-Methode
isEndToEndEncrypted-Methode
isHTTP-Methode
isTLS-Methode
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |