&reftitle.constants;
&extension.constants;
Options de validations générales
X509_PURPOSE_SSL_CLIENT
(int)
X509_PURPOSE_SSL_SERVER
(int)
X509_PURPOSE_NS_SSL_SERVER
(int)
X509_PURPOSE_SMIME_SIGN
(int)
X509_PURPOSE_SMIME_ENCRYPT
(int)
X509_PURPOSE_CRL_SIGN
(int)
X509_PURPOSE_ANY
(int)
Options de remplissage (Padding) pour le cryptage asymétrique
OPENSSL_PKCS1_PADDING
(int)
OPENSSL_SSLV23_PADDING
(int)
OPENSSL_NO_PADDING
(int)
OPENSSL_PKCS1_OAEP_PADDING
(int)
Types de clés
OPENSSL_KEYTYPE_RSA
(int)
OPENSSL_KEYTYPE_DSA
(int)
OPENSSL_KEYTYPE_DH
(int)
OPENSSL_KEYTYPE_EC
(int)
Cette constante n'est disponible que lorsque PHP est compilé avec OpenSSL 0.9.8+.
Constantes/options PKCS7
Les fonctions S/MIME utilisent des options qui sont spécifiées
par un champ de bits. Les valeurs valides sont :
Constantes PKCS7
Constante
Description
PKCS7_TEXT
Ajoute le texte plein en clair dans les en-têtes du message
signé/chiffré. Lors du déchiffrement ou la vérification,
il supprime purement et simplement ces données. Si le
message chiffré ou signé n'est pas du type MIME, une erreur
surviendra.
PKCS7_BINARY
Normalement, le message est converti au format canonique
qui utilise effectivement des CR et LF
comme fin de ligne, comme demandé dans les spécifications de S/MIME.
Lorsque cette option est activée, le message ne sera
pas converti. Cela sert lorsque vous manipulez des données
binaires qui ne sont pas au format MIME.
PKCS7_NOINTERN
Lors de la vérification d'un message, les certificats
(s'il y en a) inclus dans le message sont normalement
utilisés pour rechercher le certificat de signature. Avec
cette option, seul le certificat spécifié par le
paramètre extracerts de la fonction
openssl_pkcs7_verify est utilisé.
Les certificats fournis peuvent toujours être utilisés,
avec un niveau de confiance réduit.
PKCS7_NOVERIFY
Ne vérifie pas les certificats des signataires d'un message
signé.
PKCS7_NOCHAIN
N'enchaîne pas les vérifications des signataires de
certificats. C'est-à-dire, n'utilise pas les certificats
contenu dans le message.
PKCS7_NOCERTS
Lors de la signature d'un message, le certificat du signataire
est normalement inclus. Avec cette option, c'est
désactivé. Cela va réduire la taille du message,
mais le vérificateur devra avoir une copie locale du certificat
du signataire (passée au paramètre
extracerts, avec la fonction
openssl_pkcs7_verify).
PKCS7_NOATTR
Normalement, lorsqu'un message est signé, un jeu d'attributs
contenant l'heure de signature et l'algorithme symétrique
supporté, est inclus dans le message. Avec cette option,
il n'est pas inclus.
PKCS7_DETACHED
Lors de la signature d'un message, utilise la signature
en texte clair, avec le type MIME "multipart/signed".
C'est la valeur par défaut du paramètre
flags
pour la fonction openssl_pkcs7_sign.
Si vous annulez cette option, le message sera signé de
manière opaque, ce qui résiste mieux à la traduction
des relais mail (certains anciens serveurs mail corrompent les
messages), mais empêche la lecture par les client emails qui ne
connaissent pas S/MIME.
PKCS7_NOSIGS
Ne vérifie pas les signatures d'un message
Drapeaux/Constantes CMS
Les fonctions CMS utilise des drapeaux qui sont spécifiés utilisant
un masque de bit qui inclus une ou plusieurs des valeurs suivantes :
CMS CONSTANTS
&Constants;
&Description;
OPENSSL_CMS_TEXT
Ajoute l'en-tête content type text/plain au message chiffré/signé.
Lors du déchiffrement/vérification, ces en-têtes sont enlevés de la
sortie, si le message déchiffré ou vérifié n'est pas du type MIME
text/plain alors une erreur surviendra.
OPENSSL_CMS_BINARY
Normalement le message d'entrée est converti en sa forme "canonique"
qui en réalité utilise CR et LF
comme fin de ligne: tel que requis par la spécification CMS. Quand
cette option est présente, aucune translation n'est effectué. Ceci
est utile lors de la gestion de données binaire qui peuvent ne pas
être en format CMS.
OPENSSL_CMS_NOINTERN
Lors de la vérification d'un message, les certificats (le cas échéant)
inclus dans le message sont normalement recherchés pour le certificat
de signature. Avec cette option, seuls les certificats spécifiés dans
le paramètre untrusted_certificates_filename
de openssl_cms_verify sont utilisés.
Les certificats fournis peuvent cependant toujours être utilisés comme
des autorités de certification non fiables.
OPENSSL_CMS_NOVERIFY
Ne vérifie pas le certificat du signataire d'un message signé.
OPENSSL_CMS_NOCERTS
Lors de la signature d'un message le certificat du signataire est
normalement inclus, avec cette option il est exclus. Ceci réduira
la taille du message signé mais le vérificateur doit avoir une copie
du certificat du signataire disponible localement (passé en utilisant
untrusted_certificates_filename de
openssl_cms_verify par exemple).
OPENSSL_CMS_NOATTR
Normalement quand un message est signé, un jeu d'attributs sont
inclus qui inclus l'heure de signature et les algorithmes symétriques
supportés. Avec cette options ils ne sont pas inclus.
OPENSSL_CMS_DETACHED
Lors de la signature d'un message, la signature cleartext est utilisé
avec le MIME type "multipart/signed". Ceci est le
comportement par défaut, si vous ne spécifiez aucun
flags à openssl_cms_sign.
Si vous désactivez cette option, le message sera signé en utilisant
une signature opaque, qui est plus résistante à la translation par
les relais mail mais ne peut pas être lu par les agents mail qui ne
supportent pas S/MIME.
OPENSSL_CMS_NOSIGS
Ne tente pas de vérifier les signatures d'un message
Algorithme de signature
OPENSSL_ALGO_DSS1
(int)
OPENSSL_ALGO_SHA1
(int)
Utilisé comme algorithme par défaut pour les fonctions
openssl_sign et
openssl_verify.
OPENSSL_ALGO_SHA224
(int)
OPENSSL_ALGO_SHA256
(int)
OPENSSL_ALGO_SHA384
(int)
OPENSSL_ALGO_SHA512
(int)
OPENSSL_ALGO_RMD160
(int)
OPENSSL_ALGO_MD5
(int)
OPENSSL_ALGO_MD4
(int)
OPENSSL_ALGO_MD2
(int)
Cette constante n'est disponible que
lorsque PHP est compilé avec le support MD2. Il est nécessaire de
passer le CFLAG -DHAVE_OPENSSL_MD2_H lors de la compilation de PHP
et d'activer md2 lors de la compilation de OpenSSL 1.0.0+.
Chiffrements
OPENSSL_CIPHER_RC2_40
(int)
OPENSSL_CIPHER_RC2_128
(int)
OPENSSL_CIPHER_RC2_64
(int)
OPENSSL_CIPHER_DES
(int)
OPENSSL_CIPHER_3DES
(int)
OPENSSL_CIPHER_AES_128_CBC
(int)
OPENSSL_CIPHER_AES_192_CBC
(int)
OPENSSL_CIPHER_AES_256_CBC
(int)
Constantes de version
OPENSSL_VERSION_TEXT
(int)
OPENSSL_VERSION_NUMBER
(int)
Constantes d'identification du nom de serveur
OPENSSL_TLSEXT_SERVER_NAME
(string)
Si le support SNI est disponible ou non.
Cette constante n'est disponible que lorsque PHP est compilé avec
OpenSSL 0.9.8j ou ultérieur
Autres constantes
OPENSSL_RAW_DATA
(bool)
Si OPENSSL_RAW_DATA est définie dans
openssl_encrypt ou openssl_decrypt,
les données retournées sont retournées tel quel.
Quand ceci n'est pas spécifié, les données retournées à l'appeleur sont
encodées en Base64.
OPENSSL_ZERO_PADDING
(bool)
Par défaut, les opérations de cryptage sont complétées en utilisant
des blocs standards et la complétion est vérifiée et supprimée
lors du décryptage. Si la constante OPENSSL_ZERO_PADDING
est définie dans le paramètre options de la fonction
openssl_encrypt ou openssl_decrypt
alors aucune complétion ne sera réalisée, la quantité totale
de données cryptées devra alors être un multiple de la taille du bloc
ou bien une erreur surviendra.
OPENSSL_ENCODING_SMIME
(int)
Indique que l'encodage est S/MIME.
OPENSSL_ENCODING_DER
(int)
Indique que l'encodage est DER (Distinguished Encoding Rules).
OPENSSL_ENCODING_PEM
(int)
Indique que l'encodage est PEM (Privacy-Enhanced Mail).