IpSecManager.ApplyTransportModeTransform Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| ApplyTransportModeTransform(FileDescriptor, IpSecTransportDirection, IpSecTransform) |
Applicare una trasformazione IPsec a un socket. |
| ApplyTransportModeTransform(DatagramSocket, IpSecTransportDirection, IpSecTransform) |
Applicare una trasformazione IPsec a un socket di datagrammi. |
| ApplyTransportModeTransform(Socket, IpSecTransportDirection, IpSecTransform) |
Applicare una trasformazione IPsec a un socket di flusso. |
ApplyTransportModeTransform(FileDescriptor, IpSecTransportDirection, IpSecTransform)
Applicare una trasformazione IPsec a un socket.
[Android.Runtime.Register("applyTransportModeTransform", "(Ljava/io/FileDescriptor;ILandroid/net/IpSecTransform;)V", "GetApplyTransportModeTransform_Ljava_io_FileDescriptor_ILandroid_net_IpSecTransform_Handler", ApiSince=28)]
public virtual void ApplyTransportModeTransform(Java.IO.FileDescriptor socket, Android.Net.IpSecTransportDirection direction, Android.Net.IpSecTransform transform);
[<Android.Runtime.Register("applyTransportModeTransform", "(Ljava/io/FileDescriptor;ILandroid/net/IpSecTransform;)V", "GetApplyTransportModeTransform_Ljava_io_FileDescriptor_ILandroid_net_IpSecTransform_Handler", ApiSince=28)>]
abstract member ApplyTransportModeTransform : Java.IO.FileDescriptor * Android.Net.IpSecTransportDirection * Android.Net.IpSecTransform -> unit
override this.ApplyTransportModeTransform : Java.IO.FileDescriptor * Android.Net.IpSecTransportDirection * Android.Net.IpSecTransform -> unit
Parametri
- socket
- FileDescriptor
Descrittore di un file socket
- direction
- IpSecTransportDirection
direzione in cui applicare la trasformazione
- transform
- IpSecTransform
modalità di trasporto IpSecTransform
- Attributi
Commenti
Ciò applica l'incapsulamento della modalità di trasporto al socket specificato. Dopo l'applicazione, l'I/O sul socket verrà incapsulato in base ai parametri di IpSecTransform. Quando la trasformazione viene rimossa dal socket chiamando #removeTransportModeTransforms, il traffico non protetto può riprendere su tale socket.
Per motivi di sicurezza, l'indirizzo di destinazione di qualsiasi traffico sul socket deve corrispondere al remoto InetAddress di IpSecTransform. I tentativi di inviare traffico a qualsiasi altro indirizzo IP genereranno un'eccezione IOException. Inoltre, le letture e le scritture nel socket genereranno IOException se l'utente disattiva la trasformazione (chiamando ) senza chiamare IpSecTransform#close()#removeTransportModeTransforms.
Si noti che quando viene applicato ai socket TCP, la chiamata IpSecTransform#close() a una trasformazione applicata prima del completamento dell'arresto normale può causare il completamento della sequenza di arresto. Di conseguenza, le applicazioni che richiedono un arresto normale DEVONO chiudere il socket prima di disattivare la trasformazione applicata. La chiusura del socket può essere eseguita in modo asincrono (in batch), pertanto la restituzione di una funzione di chiusura non garantisce l'arresto di un socket. L'impostazione di un timeout SO_LINGER comporta la chiusura del socket eseguita in modo sincrono ed è sufficiente per garantire l'arresto.
In particolare, se la trasformazione viene disattivata (chiamando IpSecTransform#close()), prima della chiusura del socket, lo standard [FIN - FIN/ACK - ACK] o i pacchetti di reimpostazione [RST] vengono eliminati a causa della mancanza di una trasformazione valida. Analogamente, se un socket senza il set di opzioni SO_LINGER viene chiuso, i pacchetti FIN ritardati/in batch possono essere eliminati.
<h4>Rekey Procedure</h4>
Quando si applica una nuova tranforma a un socket nella direzione in uscita, la trasformazione precedente verrà rimossa e la nuova trasformazione avrà effetto immediatamente, inviando tutto il traffico sulla nuova trasformazione; Tuttavia, quando si applica una trasformazione nella direzione in ingresso, il traffico sulla trasformazione precedente continuerà a essere decrittografato e recapitato fino a quando tale trasformazione non viene deallocata chiamando IpSecTransform#close(). Questa sovrapposizione consente procedure di reimpostazione senza perdita in cui entrambe le trasformazioni sono valide fino a quando entrambi gli endpoint usano la nuova trasformazione e tutti i pacchetti in anteprima sono stati ricevuti.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
ApplyTransportModeTransform(DatagramSocket, IpSecTransportDirection, IpSecTransform)
Applicare una trasformazione IPsec a un socket di datagrammi.
[Android.Runtime.Register("applyTransportModeTransform", "(Ljava/net/DatagramSocket;ILandroid/net/IpSecTransform;)V", "GetApplyTransportModeTransform_Ljava_net_DatagramSocket_ILandroid_net_IpSecTransform_Handler", ApiSince=28)]
public virtual void ApplyTransportModeTransform(Java.Net.DatagramSocket socket, Android.Net.IpSecTransportDirection direction, Android.Net.IpSecTransform transform);
[<Android.Runtime.Register("applyTransportModeTransform", "(Ljava/net/DatagramSocket;ILandroid/net/IpSecTransform;)V", "GetApplyTransportModeTransform_Ljava_net_DatagramSocket_ILandroid_net_IpSecTransform_Handler", ApiSince=28)>]
abstract member ApplyTransportModeTransform : Java.Net.DatagramSocket * Android.Net.IpSecTransportDirection * Android.Net.IpSecTransform -> unit
override this.ApplyTransportModeTransform : Java.Net.DatagramSocket * Android.Net.IpSecTransportDirection * Android.Net.IpSecTransform -> unit
Parametri
- socket
- DatagramSocket
un socket di datagrammi
- direction
- IpSecTransportDirection
direzione in cui applicare la trasformazione
- transform
- IpSecTransform
modalità di trasporto IpSecTransform
- Attributi
Commenti
Ciò applica l'incapsulamento della modalità di trasporto al socket specificato. Dopo l'applicazione, l'I/O sul socket verrà incapsulato in base ai parametri di IpSecTransform. Quando la trasformazione viene rimossa dal socket chiamando #removeTransportModeTransforms, il traffico non protetto può riprendere su tale socket.
Per motivi di sicurezza, l'indirizzo di destinazione di qualsiasi traffico sul socket deve corrispondere al remoto InetAddress di IpSecTransform. I tentativi di inviare traffico a qualsiasi altro indirizzo IP genereranno un'eccezione IOException. Inoltre, le letture e le scritture nel socket genereranno IOException se l'utente disattiva la trasformazione (chiamando ) senza chiamare IpSecTransform#close()#removeTransportModeTransforms.
<h4>Rekey Procedure</h4>
Quando si applica una nuova tranforma a un socket nella direzione in uscita, la trasformazione precedente verrà rimossa e la nuova trasformazione avrà effetto immediatamente, inviando tutto il traffico sulla nuova trasformazione; Tuttavia, quando si applica una trasformazione nella direzione in ingresso, il traffico sulla trasformazione precedente continuerà a essere decrittografato e recapitato fino a quando tale trasformazione non viene deallocata chiamando IpSecTransform#close(). Questa sovrapposizione consente procedure di reimpostazione senza perdita in cui entrambe le trasformazioni sono valide fino a quando entrambi gli endpoint usano la nuova trasformazione e tutti i pacchetti in anteprima sono stati ricevuti.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
ApplyTransportModeTransform(Socket, IpSecTransportDirection, IpSecTransform)
Applicare una trasformazione IPsec a un socket di flusso.
[Android.Runtime.Register("applyTransportModeTransform", "(Ljava/net/Socket;ILandroid/net/IpSecTransform;)V", "GetApplyTransportModeTransform_Ljava_net_Socket_ILandroid_net_IpSecTransform_Handler", ApiSince=28)]
public virtual void ApplyTransportModeTransform(Java.Net.Socket socket, Android.Net.IpSecTransportDirection direction, Android.Net.IpSecTransform transform);
[<Android.Runtime.Register("applyTransportModeTransform", "(Ljava/net/Socket;ILandroid/net/IpSecTransform;)V", "GetApplyTransportModeTransform_Ljava_net_Socket_ILandroid_net_IpSecTransform_Handler", ApiSince=28)>]
abstract member ApplyTransportModeTransform : Java.Net.Socket * Android.Net.IpSecTransportDirection * Android.Net.IpSecTransform -> unit
override this.ApplyTransportModeTransform : Java.Net.Socket * Android.Net.IpSecTransportDirection * Android.Net.IpSecTransform -> unit
Parametri
- socket
- Socket
un socket di flusso
- direction
- IpSecTransportDirection
direzione in cui applicare la trasformazione
- transform
- IpSecTransform
modalità di trasporto IpSecTransform
- Attributi
Commenti
Ciò applica l'incapsulamento della modalità di trasporto al socket specificato. Dopo l'applicazione, l'I/O sul socket verrà incapsulato in base ai parametri di IpSecTransform. Quando la trasformazione viene rimossa dal socket chiamando #removeTransportModeTransforms, il traffico non protetto può riprendere su tale socket.
Per motivi di sicurezza, l'indirizzo di destinazione di qualsiasi traffico sul socket deve corrispondere al remoto InetAddress di IpSecTransform. I tentativi di inviare traffico a qualsiasi altro indirizzo IP genereranno un'eccezione IOException. Inoltre, le letture e le scritture nel socket genereranno IOException se l'utente disattiva la trasformazione (chiamando ) senza chiamare IpSecTransform#close()#removeTransportModeTransforms.
Si noti che quando viene applicato ai socket TCP, la chiamata IpSecTransform#close() a una trasformazione applicata prima del completamento dell'arresto normale può causare il completamento della sequenza di arresto. Di conseguenza, le applicazioni che richiedono un arresto normale DEVONO chiudere il socket prima di disattivare la trasformazione applicata. La chiusura del socket può essere eseguita in modo asincrono (in batch), pertanto la restituzione di una funzione di chiusura non garantisce l'arresto di un socket. L'impostazione di un timeout SO_LINGER comporta la chiusura del socket eseguita in modo sincrono ed è sufficiente per garantire l'arresto.
In particolare, se la trasformazione viene disattivata (chiamando IpSecTransform#close()), prima della chiusura del socket, lo standard [FIN - FIN/ACK - ACK] o i pacchetti di reimpostazione [RST] vengono eliminati a causa della mancanza di una trasformazione valida. Analogamente, se un socket senza il set di opzioni SO_LINGER viene chiuso, i pacchetti FIN ritardati/in batch possono essere eliminati.
<h4>Rekey Procedure</h4>
Quando si applica una nuova tranforma a un socket nella direzione in uscita, la trasformazione precedente verrà rimossa e la nuova trasformazione avrà effetto immediatamente, inviando tutto il traffico sulla nuova trasformazione; Tuttavia, quando si applica una trasformazione nella direzione in ingresso, il traffico sulla trasformazione precedente continuerà a essere decrittografato e recapitato fino a quando tale trasformazione non viene deallocata chiamando IpSecTransform#close(). Questa sovrapposizione consente procedure di reimpostazione senza perdita in cui entrambe le trasformazioni sono valide fino a quando entrambi gli endpoint usano la nuova trasformazione e tutti i pacchetti in anteprima sono stati ricevuti.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.