dwww Home | Manual pages | Find package

OPENSSL(1SSL)                       OpenSSL                      OPENSSL(1SSL)

NOM
       openssl - Programme en ligne de commande d'OpenSSL

SYNOPSIS
       openssl command [ options ... ] [ paramètres ... ]

       openssl no-XXX [ options ]

DESCRIPTION
       OpenSSL est une boîte à outils cryptographique qui implémente les
       protocoles réseau Secure Sockets Layer (SSL v2/v3, couche de sockets
       sécurisée) et Transport Layer Security (TLS v1, sécurité pour la couche
       de transport) ainsi que les normes cryptographiques liées dont ils ont
       besoin.

       Le programme openssl est un programme en ligne de commande qui permet
       d'utiliser les différentes fonctions cryptographiques de la
       bibliothèque crypto d'OpenSSL à partir de l’invite de commande. Il peut
       être utilisé pour :

        o la création et gestion de clefs publiques et privées, de paramètres ;
        o les opérations cryptographiques à clef publique ;  o la création de
       certificats X.509, CSR et CRL ;  o le calcul de condensés de messages et
       de codes d'authentification de message ;  o le chiffrement et le
       déchiffrement ;  o le test de clients et serveurs SSL/TLS ;  o la
       gestion de courriers S/MIME signés ou chiffrés ;  o les requêtes, création
       et vérification d'horodatages.

RÉSUMÉ DES COMMANDES
       Le programme openssl fournit une variété de commandes (commande dans le
       "SYNOPSIS" ci-dessus). Chaque commande possède de multiples options et
       paramètres d'arguments, affichés ci-dessus comme options et paramètres.

       Une documentation détaillée et des exemples d'utilisation des
       sous-commandes les plus courantes sont disponibles (par exemple,
       x509(1). La sous-commande openssl-list(1) peut être utiliser pour
       lister les sous-commandes.

       La commande no-XXX évalue si une commande du nom spécifié est
       disponible. Si aucune commande XXX n'existe, elle renvoie 0 (succès) et
       affiche no-XXX ; sinon, elle renvoie 1 et affiche XXX. Dans les deux
       cas, la sortie est dirigée vers la sortie standard et rien n'est
       affiché sur le flux d'erreur standard. Les paramètres supplémentaires
       en ligne de commande sont toujours ignorés. Dans la mesure où il y a
       pour chaque chiffrement une commande du même nom, cela fournit un moyen
       facile pour les scripts d'interpréteur de commandes de tester la
       disponibilité de chiffrements dans le programme openssl (no-XXX ne peut
       pas détecter les pseudo-commandes telles que quit, list ou no-XXX
       elle-même).

   Option de Configuration
       De nombreuses commandes utilisent un fichier de configuration externe
       pour certains ou tous leurs paramètres et disposent d'une option
       -config pour indiquer ce fichier. Le nom par défaut du fichier est
       openssl.cnf dans la zone de stockage des certificats par défaut, qui
       peut être déterminé par la commande openssl-version(1) avec les options
       -d ou -a. La variable d'environnement OPENSSL_CONF peut être utilisée
       pour indiquer un emplacement différent de ce fichier ou pour désactiver
       le chargement d'une configuration (avec une chaîne vide).

       Entre autres choses, le fichier de configuration peut être utilisé pour
       charger des modules et pour spécifier des paramètres pour la génération
       de certificats et de nombres aléatoires. Consultez config(5) pour plus
       de détails.

   Commandes standard
       asn1parse
           Traitement d'une séquence ASN.1.

       ca  Gestion de l'Autorité de Certification (CA).

       ciphers
           Détermination de la description des suites de chiffrements.

       cms Commande CMS (« Cryptographic Message Syntax »).

       crl Gestion des listes de révocations de certificat (CRL).

       crl2pkcs7
           Conversion CRL vers PKCS#7.

       dgst
           Calcul de condensés de message. Les calculs MAC ont été remplacés
           par openssl-mac(1).

       dhparam
           Production et gestion de paramètres Diffie-Hellman. Remplacé par
           openssl-genpkey(1) et openssl-pkeyparam(1).

       dsa Gestion de données DSA.

       dsaparam
           Production et gestion de paramètres DSA . Remplacé par
           openssl-genpkey(1) et openssl-pkeyparam(1).

       ec  Traitement de clefs EC (courbe elliptique) EC.

       ecparam
           Manipulation et génération de paramètre EC.

       enc Chiffrement, déchiffrement et encodage.

       engine
           Renseignements et manipulation de moteur (module chargeable).

       errstr
           Conversion de numéro d'erreur vers un descriptif textuel.

       fipsinstall
           Installation de la configuration de FIPS

       gendsa
           Production de clef privée DSAà partir de paramètres. Remplacé par
           openssl-genpkey(1) et openssl-pkey(1).

       genpkey
           Production de clef privée ou de paramètres.

       genrsa
           Production de clef privée RSA. Remplacé par openssl-genpkey(1).

       help
           Afficher des informations sur des options de commande.

       info
           Afficher diverses informations ajoutées dans les bibliothèques
           d'OpenSSL.

       kdf Fonctions de dérivation de clé.

       list
           Liste des algorithmes et des fonctionnalités.

       mac Calcul du code d'authentification de message.

       nseq
           Créer ou examiner une séquence de certificats Netscape.

       ocsp
           Commande pour le protocole de vérification en ligne de certificats.

       passwd
           Production de mots de passe hachés.

       pkcs12
           Gestion de données PKCS#12.

       pkcs7
           Gestion de données PKCS#7.

       pkcs8
           Commande de conversion de clef privée de format PKCS#8.

       pkey
           Gestion de clefs publiques et privées.

       pkeyparam
           Gestion de paramètres d'algorithme à clef publique.

       pkeyutl
           Commande d'opérations cryptographiques d'algorithme à clef
           publique.

       prime
           Calcul de nombres premiers.

       rand
           Production d'octets pseudoaléatoires.

       rehash
           Création de lien symboliques vers les fichiers de certificats et
           CRL nommés selon les valeurs de hachage.

       req Gestion des demandes de chiffrement de certificats X.509 PKCS#10
           (CSR).

       rsa Gestion de clefs RSA.

       rsautl
           Commande RSA pour signer, vérifier, chiffrer et déchiffrer.
           Remplacé par openssl-pkeyutl(1).

       s_client
           Cela fournit un client SSL/TLS générique qui peut établir une
           connexion transparente avec un serveur distant parlant SSL/TLS.
           Étant seulement prévu pour du test, il n'offre qu'une interface
           fonctionnelle rudimentaire tout en utilisant en interne la
           quasi-totalité des fonctionnalités de la bibliothèque ssl
           d'OpenSSL.

       s_server
           Cela fournit un serveur SSL/TLS générique qui accepte les
           connexions à partir de clients distants parlant SSL/TLS. Étant
           seulement prévu pour du test, il n'offre qu'une interface
           fonctionnelle rudimentaire tout en utilisant en interne la
           quasi-totalité des fonctionnalités de la bibliothèque ssl
           d'OpenSSL. Il fournit à la fois son propre protocole orienté ligne
           de commande pour tester les fonctions SSL et une fonction simple de
           réponse HTTP pour émuler un serveur web à l'écoute de SSL/TLS.

       s_time
           Minuterie de connexion SSL.

       sess_id
           Gestion de données de session SSL.

       smime
           Traitement de courriers S/MIME.

       speed
           Mesure la vitesse de l'algorithme.

       spkac
           Commande d'affichage et de génération de SPKAC.

       srp Entretien du fichier de mot de passe SRP. Cette commande est
           obsolète

       storeutl
           Commande pour lister et afficher les certificats, clefs, CRL, etc.

       ts  Commande d'autorité de certification d'horodatage.

       verify
           Vérification de certificat X.509. Consultez aussi la page de manuel
           openssl-verification-options(1)

       version
           Information sur la version d'OpenSSL.

       x509
           Gestion de données pour les certificats X.509.

   Commandes de condensé de message
       blake2b512
           Condensé BLAKE2b-512

       blake2s256
           Condensé BLAKE2s-256

       md2 Condensé MD2

       md4 Condensé MD4

       md5 Condensé MD5

       mdc2
           Condensé MDC2

       rmd160
           Condensé RMD-160

       sha1
           Condensé SHA-1

       sha224
           Condensé SHA-2 224

       sha256
           Condensé SHA-2 256

       sha384
           Condensé SHA-2 384

       sha512
           Condensé SHA-2 512

       sha3-224
           Condensé SHA-3 224

       sha3-256
           Condensé SHA-3 256

       sha3-384
           Condensé SHA-3 384

       sha3-512
           Condensé SHA-3 512

       shake128
           Condensé SHA-3 SHAKE128

       shake256
           Condensé SHA-3 SHAKE256

       sm3 Condensé SM3

   Commandes de chiffrement, de déchiffrement et d'encodage.
       Les alias suivant fournissent un accès pratique aux encodages et
       chiffrements les plus courants.

       Selon la manière dont OpenSSL a été configuré et construit, tous les
       chiffrements listés ici peuvent ne pas être présents. Consultez
       openssl-enc(1) pour plus d’informations.

       aes128, aes-128-cbc, aes-128-cfb, aes-128-ctr, aes-128-ecb, aes-128-ofb
           Algorithme de chiffrement AES-128

       aes192, aes-192-cbc, aes-192-cfb, aes-192-ctr, aes-192-ecb, aes-192-ofb
           Algorithme de chiffrement AES-192

       aes256, aes-256-cbc, aes-256-cfb, aes-256-ctr, aes-256-ecb, aes-256-ofb
           Algorithme de chiffrement AES-256

       aria128, aria-128-cbc, aria-128-cfb, aria-128-ctr, aria-128-ecb,
       aria-128-ofb
           Algorithme de chiffrement Aria-128

       aria192, aria-192-cbc, aria-192-cfb, aria-192-ctr, aria-192-ecb,
       aria-192-ofb
           Algorithme de chiffremen Aria-192t

       aria256, aria-256-cbc, aria-256-cfb, aria-256-ctr, aria-256-ecb,
       aria-256-ofb
           Algorithme de chiffrement Aria-256

       base64
           Encodage base64

       bf, bf-cbc, bf-cfb, bf-ecb, bf-ofb
           Algorithme de chiffrement Blowfish

       camellia128, camellia-128-cbc, camellia-128-cfb, camellia-128-ctr,
       camellia-128-ecb, camellia-128-ofb
           Algorithme de chiffrement Camellia-128

       camellia192, camellia-192-cbc, camellia-192-cfb, camellia-192-ctr,
       camellia-192-ecb, camellia-192-ofb
           Algorithme de chiffrement Camellia-192

       camellia256, camellia-256-cbc, camellia-256-cfb, camellia-256-ctr,
       camellia-256-ecb, camellia-256-ofb
           Algorithme de chiffrement Camellia-256

       cast, cast-cbc
           Algorithme de chiffrement CAST

       cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb
           Algorithme de chiffrement CAST5

       chacha20
           Algorithme de chiffrement chacha20

       des, des-cbc, des-cfb, des-ecb, des-ede, des-ede-cbc, des-ede-cfb,
       des-ede-ofb, des-ofb
           Algorithme de chiffrement DES

       des3, desx, des-ede3, des-ede3-cbc, des-ede3-cfb, des-ede3-ofb
           Algorithme de chiffrement Triple-DES

       idea, idea-cbc, idea-cfb, idea-ecb, idea-ofb
           Algorithme de chiffrement IDEA

       rc2, rc2-cbc, rc2-cfb, rc2-ecb, rc2-ofb
           Algorithme de chiffrement RC2

       rc4 Algorithme de chiffrement RC4 Cipher

       rc5, rc5-cbc, rc5-cfb, rc5-ecb, rc5-ofb
           Algorithme de chiffrement RC5

       seed, seed-cbc, seed-cfb, seed-ecb, seed-ofb
           Algorithme de chiffrement SEED

       sm4, sm4-cbc, sm4-cfb, sm4-ctr, sm4-ecb, sm4-ofb
           Algorithme de chiffrement SM4

OPTIONS
       Le détail des options qui sont disponibles dépend de chaque commande.
       Cette section décrit certaines des options courantes avec leur
       comportement courant.

   Options courantes
       -help
           Fournit un résumé succinct de toutes les options. Si une option
           demande un paramètre, le "type" du paramètre est aussi donné.

       --  Cela clôture la liste des options. C'est surtout utile si des
           paramètres de nom de fichier commencent par un signe moins :

            openssl verify [attributs...] -- -cert1.pem...

   Options de format
       Consultez la page de manuel openssl-format-options(1).

   Options de phrase secrète
       Consultez la page de manuel openssl-passphrase-options(1).

   Options d'état aléatoire
       Avant OpenSSL 1.1.1, il était courant que des applications conservent
       les informations sur l'état du générateur de nombres aléatoires dans un
       fichier qui était chargé au démarrage et réécrit lors de la sortie.
       Dans les systèmes d'exploitation modernes, ce n'est plus nécessaire
       dans la mesure où OpenSSL génère une amorce lui-même à partir d'une
       source d'entropie fournie par le système d'exploitation. Ces attributs
       sont encore pris en charge pour des plateformes ou des circonstances
       particulières qui pourraient en avoir besoin.

       C'est généralement une erreur d'utiliser le même fichier d'amorce plus
       d'une fois et chaque utilisation de rand devrait être associée à celle
       de -writerand.

       -rand fichiers
           Un fichier ou des fichiers contenant des données aléatoires
           utilisées pour amorcer le générateur de nombres aléatoires.
           Plusieurs fichiers peuvent être indiqués séparés par un caractère
           dépendant du système d'exploitation. Le séparateur est ";" pour
           MS-Windows, "," pour OpenVMS et ":" pour tous les autres. Une autre
           manière d'indiquer plusieurs fichiers est de répéter cet attribut
           avec plusieurs noms de fichier.

       -writerand fichier
           Écrit les données d'amorce dans le fichier spécifié lors de la
           sortie. Ce fichier peut être utilisé lors d'une invocation
           ultérieure de la commande.

   Options de vérification de certificats
       Consultez la page de manuel openssl-verification-options(1).

   Options de format de nom
       Consultez la page de manuel openssl-namedisplay-options(1).

   Options de version TLS
       Plusieurs commandes utilisent SSL, TLS, ou DTLS. Par défaut, les
       commandes utilisent TLS et les clients offriront la version la plus
       basse et la plus élevée du protocole qu'ils prennent en charge, et les
       serveurs prendront la valeur la plus élevée que le client offre et qui
       est aussi prise en charge par le serveur.

       Les versions ci-dessous peuvent servir à limiter les versions du
       protocole utilisées, et soit TCP (SSL et TLS) soit UDP (DTLS) est
       utilisé. Notez que les protocoles et les attributs peuvent ne pas être
       disponibles, selon la manière dont OpenSSL a été construit.

       -ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1,
       -no_tls1_1, -no_tls1_2, -no_tls1_3
           Ces options requièrent ou désactivent l'utilisation des protocoles
           SSL ou TLS. Quand une version particulière de TLS est requise,
           seule cette version sera offerte ou acceptée. Un seul protocole
           particulier peut être indiqué et il ne peut être combiné à aucune
           des options no_.

       -dtls, -dtls1, -dtls1_2
           Ces options spécifient l'utilisation de DTLS à la place de DLTS.
           Avec -dtls, les clients négocieront avec n'importe quelle version
           du protocole DTLS prise en charge. Utiliser les options -dtls1 ou
           -dtls1_2 pour ne prendre en charge que DTLS1.0 ou DTLS1.2,
           respectivement.

   Options de moteur
       -engine id
           Charger le moteur identifié par id et utiliser toutes les méthodes
           qu'il met en œuvre (algorithmes, stockage de clés, etc.), à moins
           qu'il ne soit spécifié autre chose dans la documentation spécifique
           à la commande ou s'il est configuré pour faire ainsi comme cela est
           décrit dans "Configuration du moteur" dans config(5).

           Le moteur sera utilisé pour les identifiants de clé spécifiés avec
           -key et les options similaires quand une option telle que -keyform
           engine est passée.

           Le moteur "loader_attic" est un cas particulier. Il est destiné
           uniquement aux fins de tests internes d'OpenSSL et gère le
           chargement de clés, de paramètres, de certificats et de CRL à
           partir de fichiers. Quand ce moteur est utilisé, les fichiers avec
           ce type d'identifiants sont lus avec ce moteur. Utiliser le schéma
           "file:" est facultatif ; un nom de fichier (chemin) fonctionnera.

       Les options indiquant des clés, telles que -key et d'autres semblables,
       peuvent utiliser la clé générique du moteur OpenSSL chargeant le schéma
       d'URI "org.openssl.engine:" pour récupérer les clés privées et les clés
       publiques. La syntaxe de l'URI est comme suit, dans une forme
       simplifiée :

        org.openssl.engine:{engineid}:{keyid}

       Où "{engineid}" est l'identité ou le nom du moteur et "{keyid}" est un
       identifiant de clé acceptable pour ce moteur. Par exemple, lors de
       l'utilisation d'un moteur qui s'interface à une implémentation de
       PKCS#11, l'URI de clé générique peut être quelque chose comme cela (il
       se trouve que c'est un exemple pour le moteur PKCS#11 qui fait partie
       de OpenSC) :

        -key org.openssl.engine:pkcs11:label_une-clé-privée

       Une troisième possibilité, pour les moteurs et les fournisseurs
       (provider) qui ont implémenté leur propre OSSL_STORE_LOADER(3),
       "org.openssl.engine:" ne devrait pas être nécessaire. Pour une
       implémentation de PKCS#11 qui a mis en œuvre un chargeur de ce type, il
       devrait être possible d'utiliser directement l'URI de PKCS#11 telle que
       défini dans RFC 7512 :

        -key pkcs11:object=une-clé-privée;pin-value=1234

   Options de fournisseur
       -provider nom
           Charger et initialiser le fournisseur identifié par nom. Le nom
           peut être aussi un chemin vers le module du fournisseur. Dans ce
           cas, le nom du fournisseur sera le chemin spécifié et pas seulement
           le nom du module dufournisseur. L'interprétation des chemins
           relatifs est spécifique à la plateforme. Le chemin "MODULESDIR"
           configuré, la variable d'environnement OPENSSL_MODULES ou le chemin
           indiqué par -provider-path est ajouté au début des chemins
           relatifs. Consultez provider(7) pour une description plus
           détaillée.

       -provider-path chemin
           Spécifie le chemin de recherche qui sera utilisé pour rechercher
           des fournisseurs. De façon équivalente, la variable d'environnement
           OPENSSL_MODULES peut être définie.

       -propquery propq
           Spécifie la clause de requête de propriété à utiliser lors de la
           recherche d'algorithmes à partir des fournisseurs chargés.
           Consultez property(7) pour une description plus détaillée.

ENVIRONNEMENT
       La bibliothèque OpenSSL peut récupérer certains paramètres de
       configuration à partir de l'environnement. Certaines de ces variables
       sont listées plus loin. Pour des informations sur des commandes
       particulières, voir openssl-engine(1), openssl-rehash(1) et tsget(1).

       Pour des informations sur l'utilisation de variables d'environnement
       dans la configuration, consultez "ENVIRONMENT" dans config(5).

       Pour des informations sur la requête ou la spécification d'attributs
       d'architecture du CPU, consultez OPENSSL_ia32cap(3) et
       OPENSSL_s390xcap(3).

       Pour des informations sur toutes les variables d'environnement
       utilisées par les bibliothèques d'OpenSSL, consultez openssl-env(7).

       OPENSSL_TRACE=nom[,...]
           Activer le suivi de la sortie de la bibliothèque OpenSSL, par nom.
           Cette sortie n'a de sens que si vous connaissez bien les fonctions
           internes d'OpenSSL. Aussi, cela pourrait ne vous donner aucune
           sortie, selon la manière dont OpenSSL a été construit.

           La valeur est une liste de noms séparés par des virgules dont les
           suivants sont disponibles :

           TRACE
               Suit l'API de suivi d'OpenSSL elle-même.

           INIT
               Suit l'initialisation et le nettoyage de la bibliothèque
               OpenSSL.

           TLS Suit le protocole TLS/SSL.

           TLS_CIPHER
               Suit les chiffrements utilisés par le protocole TLS/SSL.

           CONF
               Montre des détails sur la configuration du fournisseur et du
               moteur.

           ENGINE_TABLE
               La fonction qui est utilisée par le code de RSA, DSA, etc.,
               pour sélectionner les moteurs (ENGINE) enregistrés, les caches
               par défaut et les références fonctionnelles, etc., générera des
               résumés de débogage.

           ENGINE_REF_COUNT
               Les comptes de référence dans la structure ENGINE seront suivis
               avec une ligne générée à chaque modification.

           PKCS5V2
               Suit la génération de clés PKCS#5 v2.

           PKCS12_KEYGEN
               Suit la génération de clés PKCS#12.

           PKCS12_DECRYPT
               Suit le déchiffrement PKCS#12.

           X509V3_POLICY
               Générer l'arbre de politiques complet à divers points durant
               l'évaluation de la politique de X.509 v3.

           BN_CTX
               Suit les opérations de contexte BIGNUM.

           CMP Suit l'activité de client et de serveur CMP.

           STORE
               Suit les opérations STORE.

           DECODER
               Suit les opérations de décodeur.

           ENCODER
               Suit les opérations d'encodeur.

           REF_COUNT
               Suit la décrémentation de certaines références de structure
               ASN.1.

VOIR AUSSI
       openssl-asn1parse(1), openssl-ca(1), openssl-ciphers(1),
       openssl-cms(1), openssl-crl(1), openssl-crl2pkcs7(1), openssl-dgst(1),
       openssl-dhparam(1), openssl-dsa(1), openssl-dsaparam(1), openssl-ec(1),
       openssl-ecparam(1), openssl-enc(1), openssl-engine(1),
       openssl-errstr(1), openssl-gendsa(1), openssl-genpkey(1),
       openssl-genrsa(1), openssl-kdf(1), openssl-list(1), openssl-mac(1),
       openssl-nseq(1), openssl-ocsp(1), openssl-passwd(1), openssl-pkcs12(1),
       openssl-pkcs7(1), openssl-pkcs8(1), openssl-pkey(1),
       openssl-pkeyparam(1), openssl-pkeyutl(1), openssl-prime(1),
       openssl-rand(1), openssl-rehash(1), openssl-req(1), openssl-rsa(1),
       openssl-rsautl(1), openssl-s_client(1), openssl-s_server(1),
       openssl-s_time(1), openssl-sess_id(1), openssl-smime(1),
       openssl-speed(1), openssl-spkac(1), openssl-srp(1),
       openssl-storeutl(1), openssl-ts(1), openssl-verify(1),
       openssl-version(1), openssl-x509(1), config(5), crypto(7),
       openssl-env(7). ssl(7), x509v3_config(5)

HISTORIQUE
       Les options list -XXX-algorithms ont été ajoutées dans la version 1.0.0
       d'OpenSSL. Pour des informations sur la disponibilité des autres
       commandes, consultez les pages de manuel correspondantes.

       L'option -issuer_checks est obsolète depuis OpenSSL 1.1.0 et est
       ignorée silencieusement.

       Les options -xcertform et -xkeyform sont obsolètes depuis OpenSSL 3.0
       et n'ont pas d'effet.

       Le mode interactif qui pouvait être invoqué en exécutant la commande
       "openssl" sans paramètre supplémentaire a été retiré dans OpenSSL 3.0,
       et l'exécution de ce programme sans paramètre est maintenant
       équivalente à "openssl help".

COPYRIGHT
       Copyright 2000-2022 Les auteurs du projet OpenSSL. Tous droits
       réservés.

       Sous licence Apache 2.0 (la "Licence"). Vous ne pouvez utiliser ce
       fichier que conformément avec la Licence. Vous trouverez une copie dans
       le fichier LICENSE de la distribution du source ou à l'adresse
       <https://www.openssl.org/source/license.html>.

TRADUCTION
       La traduction française de cette page de manuel a été créée par stolck,
       Nicolas François <nicolas.francois@centraliens.net>, David Prévot
       <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la GNU General Public License version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

3.0.8                           7 février 2023                   OPENSSL(1SSL)

Generated by dwww version 1.15 on Sat Jun 29 01:54:21 CEST 2024.