Les fonctions S/MIME utilisent des options qui sont spécifiées par un champ de bits. Les valeurs valides sont :
| 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 CRetLFcomme 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 extracertsde 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ètreflagspour 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 |