IpSecManager.ApplyTransportModeTransform Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| ApplyTransportModeTransform(FileDescriptor, IpSecTransportDirection, IpSecTransform) |
Appliquez une transformation IPsec à un socket. |
| ApplyTransportModeTransform(DatagramSocket, IpSecTransportDirection, IpSecTransform) |
Appliquez une transformation IPsec à un socket de datagramme. |
| ApplyTransportModeTransform(Socket, IpSecTransportDirection, IpSecTransform) |
Appliquez une transformation IPsec à un socket de flux. |
ApplyTransportModeTransform(FileDescriptor, IpSecTransportDirection, IpSecTransform)
Appliquez une transformation IPsec à 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
Paramètres
- socket
- FileDescriptor
descripteur de fichier de socket
- direction
- IpSecTransportDirection
direction dans laquelle la transformation doit être appliquée
- transform
- IpSecTransform
un mode de transport IpSecTransform
- Attributs
Remarques
Cela applique l’encapsulation du mode de transport au socket donné. Une fois appliquées, les E/S sur le socket sont encapsulées en fonction des paramètres du IpSecTransform. Lorsque la transformation est supprimée du socket en appelant #removeTransportModeTransforms, le trafic non protégé peut reprendre sur ce socket.
Pour des raisons de sécurité, l’adresse de destination d’un trafic sur le socket doit correspondre à la distance InetAddress du IpSecTransform. Les tentatives d’envoi du trafic vers toute autre adresse IP entraînent une ioException. En outre, les lectures et les écritures sur le socket lèvent IOException si l’utilisateur désactive la transformation (en appelant IpSecTransform#close()) sans appeler #removeTransportModeTransforms.
Notez qu’en cas d’application aux sockets TCP, l’appel IpSecTransform#close() à une transformation appliquée avant l’achèvement de l’arrêt correct peut entraîner l’échec de la séquence d’arrêt. Par conséquent, les applications nécessitant un arrêt normal doivent fermer le socket avant de désactiver la transformation appliquée. La fermeture de socket peut être effectuée de manière asynchrone (par lots), de sorte que le retour d’une fonction de fermeture ne garantit pas l’arrêt d’un socket. La définition d’un délai d’attente SO_LINGER entraîne l’exécution synchrone de la fermeture du socket et suffit pour garantir l’arrêt.
Plus précisément, si la transformation est désactivée (en appelant IpSecTransform#close()), avant la fermeture du socket, la norme [FIN - FIN/ACK - ACK] ou les paquets de réinitialisation [RST] sont supprimés en raison de l’absence de transformation valide. De même, si un socket sans l’option SO_LINGER définie est fermé, les paquets FIN retardés/par lot peuvent être supprimés.
<Procédure de réécriture> h4</h4>
Lors de l’application d’un nouveau transforme à un socket dans la direction sortante, la transformation précédente est supprimée et la nouvelle transformation prend effet immédiatement, en envoyant tout le trafic sur la nouvelle transformation ; Toutefois, lors de l’application d’une transformation dans le sens entrant, le trafic sur l’ancienne transformation continue d’être déchiffré et remis jusqu’à ce que cette transformation soit libérée en appelant IpSecTransform#close(). Ce chevauchement permet des procédures de rekey sans perte où les deux transformations sont valides jusqu’à ce que les deux points de terminaison utilisent la nouvelle transformation et que tous les paquets en cours d’exécution aient été reçus.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
S’applique à
ApplyTransportModeTransform(DatagramSocket, IpSecTransportDirection, IpSecTransform)
Appliquez une transformation IPsec à un socket de datagramme.
[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
Paramètres
- socket
- DatagramSocket
un socket de datagramme
- direction
- IpSecTransportDirection
direction dans laquelle la transformation doit être appliquée
- transform
- IpSecTransform
un mode de transport IpSecTransform
- Attributs
Remarques
Cela applique l’encapsulation du mode de transport au socket donné. Une fois appliquées, les E/S sur le socket sont encapsulées en fonction des paramètres du IpSecTransform. Lorsque la transformation est supprimée du socket en appelant #removeTransportModeTransforms, le trafic non protégé peut reprendre sur ce socket.
Pour des raisons de sécurité, l’adresse de destination d’un trafic sur le socket doit correspondre à la distance InetAddress du IpSecTransform. Les tentatives d’envoi du trafic vers toute autre adresse IP entraînent une ioException. En outre, les lectures et les écritures sur le socket lèvent IOException si l’utilisateur désactive la transformation (en appelant IpSecTransform#close()) sans appeler #removeTransportModeTransforms.
<Procédure de réécriture> h4</h4>
Lors de l’application d’un nouveau transforme à un socket dans la direction sortante, la transformation précédente est supprimée et la nouvelle transformation prend effet immédiatement, en envoyant tout le trafic sur la nouvelle transformation ; Toutefois, lors de l’application d’une transformation dans le sens entrant, le trafic sur l’ancienne transformation continue d’être déchiffré et remis jusqu’à ce que cette transformation soit libérée en appelant IpSecTransform#close(). Ce chevauchement permet des procédures de rekey sans perte où les deux transformations sont valides jusqu’à ce que les deux points de terminaison utilisent la nouvelle transformation et que tous les paquets en cours d’exécution aient été reçus.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
S’applique à
ApplyTransportModeTransform(Socket, IpSecTransportDirection, IpSecTransform)
Appliquez une transformation IPsec à un socket de flux.
[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
Paramètres
- socket
- Socket
un socket de flux
- direction
- IpSecTransportDirection
direction dans laquelle la transformation doit être appliquée
- transform
- IpSecTransform
un mode de transport IpSecTransform
- Attributs
Remarques
Cela applique l’encapsulation du mode de transport au socket donné. Une fois appliquées, les E/S sur le socket sont encapsulées en fonction des paramètres du IpSecTransform. Lorsque la transformation est supprimée du socket en appelant #removeTransportModeTransforms, le trafic non protégé peut reprendre sur ce socket.
Pour des raisons de sécurité, l’adresse de destination d’un trafic sur le socket doit correspondre à la distance InetAddress du IpSecTransform. Les tentatives d’envoi du trafic vers toute autre adresse IP entraînent une ioException. En outre, les lectures et les écritures sur le socket lèvent IOException si l’utilisateur désactive la transformation (en appelant IpSecTransform#close()) sans appeler #removeTransportModeTransforms.
Notez qu’en cas d’application aux sockets TCP, l’appel IpSecTransform#close() à une transformation appliquée avant l’achèvement de l’arrêt correct peut entraîner l’échec de la séquence d’arrêt. Par conséquent, les applications nécessitant un arrêt normal doivent fermer le socket avant de désactiver la transformation appliquée. La fermeture de socket peut être effectuée de manière asynchrone (par lots), de sorte que le retour d’une fonction de fermeture ne garantit pas l’arrêt d’un socket. La définition d’un délai d’attente SO_LINGER entraîne l’exécution synchrone de la fermeture du socket et suffit pour garantir l’arrêt.
Plus précisément, si la transformation est désactivée (en appelant IpSecTransform#close()), avant la fermeture du socket, la norme [FIN - FIN/ACK - ACK] ou les paquets de réinitialisation [RST] sont supprimés en raison de l’absence de transformation valide. De même, si un socket sans l’option SO_LINGER définie est fermé, les paquets FIN retardés/par lot peuvent être supprimés.
<Procédure de réécriture> h4</h4>
Lors de l’application d’un nouveau transforme à un socket dans la direction sortante, la transformation précédente est supprimée et la nouvelle transformation prend effet immédiatement, en envoyant tout le trafic sur la nouvelle transformation ; Toutefois, lors de l’application d’une transformation dans le sens entrant, le trafic sur l’ancienne transformation continue d’être déchiffré et remis jusqu’à ce que cette transformation soit libérée en appelant IpSecTransform#close(). Ce chevauchement permet des procédures de rekey sans perte où les deux transformations sont valides jusqu’à ce que les deux points de terminaison utilisent la nouvelle transformation et que tous les paquets en cours d’exécution aient été reçus.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.