Module module de base

Module SSL

module ssl/tls, alias de module : tls

Objet

Socket

Créer SslSocket Objet, voir SslSocket

1
SslSocket ssl.Socket;

Handler

Créer SslHandler Objet, voir SslHandler

1
SslHandler ssl.Handler;

Server

Créer SslServer Objet, voir SslServer

1
SslServer ssl.Server;

Fonction statique

connect

Créer SslSocket Objet et établir une connexion

1 2
static Stream ssl.connect(String url, Integer timeout = 0) async;

Paramètres d'appel :

  • url: String, spécifiez le protocole de connexion, il peut être : ssl://host:port
  • timeout: Entier, spécifiez le délai d'expiration, l'unité est la milliseconde, la valeur par défaut est 0

Résultat de retour :


Créer SslSocket Objet et établir une connexion

1 2 3 4
static Stream ssl.connect(String url, X509Cert crt, PKey key, Integer timeout = 0) async;

Paramètres d'appel :

  • url: String, spécifiez le protocole de connexion, il peut être : ssl://host:port
  • crt: X509Cert, Certificat, utilisé pour envoyer au serveur pour vérifier le client
  • key: PKey, Clé privée, utilisée pour parler au client
  • timeout: Entier, spécifiez le délai d'expiration, l'unité est la milliseconde, la valeur par défaut est 0

Résultat de retour :


setClientCert

Définir le certificat client par défaut

1 2
static ssl.setClientCert(X509Cert crt, PKey key);

Paramètres d'appel :

  • crt: X509Cert, Certificat, utilisé pour envoyer au serveur pour vérifier le client
  • key: PKey, Clé privée, utilisée pour parler au client

loadClientCertFile

Charger le certificat client par défaut à partir d'un fichier

1 2 3
static ssl.loadClientCertFile(String crtFile, String keyFile, String password = "");

Paramètres d'appel :

  • crtFile: chaîne, fichier de certificat, utilisé pour le serveur d'authentification client
  • keyFile: chaîne, fichier de clé privée, utilisé pour parler au client
  • password: chaîne, déchiffrer le mot de passe

loadRootCerts

Chargez le certificat racine par défaut qui l'accompagne, ce qui équivaut à ssl.ca.loadRootCerts

1
static ssl.loadRootCerts();

Le contenu de ce certificat provient de : http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt

Propriétés statiques

ca

X509Cert, Certificat global, utilisé pour vérifier le certificat du serveur en mode client SSL

1
static readonly X509Cert ssl.ca;

verification

Entier, définissez le mode de vérification du certificat, la valeur par défaut est VERIFY_REQUIRED

1
static Integer ssl.verification;

min_version

Entier, définissez la prise en charge de la version minimale, ssl3 par défaut

1
static Integer ssl.min_version;

max_version

Entier, définissez la prise en charge de la version la plus élevée, par défaut tls1_1

1
static Integer ssl.max_version;

constant

VERIFY_NONE

Mode de vérification du certificat, pas de vérification

1
const ssl.VERIFY_NONE = 0;

VERIFY_OPTIONAL

Mode de vérification du certificat, vérification facultative, permettant à la vérification d'échouer

1
const ssl.VERIFY_OPTIONAL = 1;

VERIFY_REQUIRED

Mode de vérification du certificat, la vérification est requise, si la vérification échoue, elle sera interrompue

1
const ssl.VERIFY_REQUIRED = 2;

BADCERT_EXPIRED

Résultat de la vérification du certificat, délai d'expiration du certificat

1
const ssl.BADCERT_EXPIRED = 1;

BADCERT_REVOKED

Résultat de la vérification du certificat, le certificat a été révoqué

1
const ssl.BADCERT_REVOKED = 2;

BADCERT_CN_MISMATCH

Résultat de la vérification du certificat, le nom du certificat est erroné

1
const ssl.BADCERT_CN_MISMATCH = 4;

BADCERT_NOT_TRUSTED

Résultat de la vérification du certificat, le certificat n'est pas approuvé

1
const ssl.BADCERT_NOT_TRUSTED = 8;

ssl3

protocole ssl version ssl 3.0

1
const ssl.ssl3 = 0;

tls1

protocole ssl version tls 1.0

1
const ssl.tls1 = 1;

tls1_1

protocole ssl version tls 1.1

1
const ssl.tls1_1 = 2;

tls1_2

protocole ssl version tls 1.2

1
const ssl.tls1_2 = 3;