Joomla CMS  4.2.2
Documentation des API du CMS Joomla en version 4.2.2
Référence de la classe X509

Fonctions membres publiques

 __construct ()
 
 loadX509 ($cert, $mode=self::FORMAT_AUTO_DETECT)
 
 saveX509 ($cert, $format=self::FORMAT_PEM)
 
 loadCA ($cert)
 
 validateURL ($url)
 
 validateDate ($date=null)
 
 validateSignature ($caonly=true)
 
 setDNProp ($propName, $propValue, $type='utf8String')
 
 removeDNProp ($propName)
 
 getDNProp ($propName, $dn=null, $withType=false)
 
 setDN ($dn, $merge=false, $type='utf8String')
 
 getDN ($format=self::DN_ARRAY, $dn=null)
 
 getIssuerDN ($format=self::DN_ARRAY)
 
 getSubjectDN ($format=self::DN_ARRAY)
 
 getIssuerDNProp ($propName, $withType=false)
 
 getSubjectDNProp ($propName, $withType=false)
 
 getChain ()
 
getCurrentCert ()
 
 setPublicKey (PublicKey $key)
 
 setPrivateKey (PrivateKey $key)
 
 setChallenge ($challenge)
 
 getPublicKey ()
 
 loadCSR ($csr, $mode=self::FORMAT_AUTO_DETECT)
 
 saveCSR ($csr, $format=self::FORMAT_PEM)
 
 loadSPKAC ($spkac)
 
 saveSPKAC ($spkac, $format=self::FORMAT_PEM)
 
 loadCRL ($crl, $mode=self::FORMAT_AUTO_DETECT)
 
 saveCRL ($crl, $format=self::FORMAT_PEM)
 
 sign ($issuer, $subject)
 
 signCSR ()
 
 signSPKAC ()
 
 signCRL ($issuer, $crl)
 
 setStartDate ($date)
 
 setEndDate ($date)
 
 setSerialNumber ($serial, $base=-256)
 
 makeCA ()
 
 removeExtension ($id)
 
 getExtension ($id, $cert=null, $path=null)
 
 getExtensions ($cert=null, $path=null)
 
 setExtension ($id, $value, $critical=false, $replace=true)
 
 removeAttribute ($id, $disposition=self::ATTR_ALL)
 
 getAttribute ($id, $disposition=self::ATTR_ALL, $csr=null)
 
 getAttributes ($csr=null)
 
 setAttribute ($id, $value, $disposition=self::ATTR_ALL)
 
 setKeyIdentifier ($value)
 
 computeKeyIdentifier ($key=null, $method=1)
 
 setDomain (... $domains)
 
 setIPAddress (... $ipAddresses)
 
 revoke ($serial, $date=null)
 
 unrevoke ($serial)
 
 getRevoked ($serial)
 
 listRevoked ($crl=null)
 
 removeRevokedCertificateExtension ($serial, $id)
 
 getRevokedCertificateExtension ($serial, $id, $crl=null)
 
 getRevokedCertificateExtensions ($serial, $crl=null)
 
 setRevokedCertificateExtension ($serial, $id, $value, $critical=false, $replace=true)
 
 setExtensionValue ($id, $value, $critical=false, $replace=false)
 

Fonctions membres publiques statiques

static setRecurLimit ($count)
 
static disableURLFetch ()
 
static enableURLFetch ()
 
static decodeIP ($ip)
 
static decodeNameConstraintIP ($ip)
 
static encodeIP ($ip)
 
static registerExtension ($id, array $mapping)
 
static getRegisteredExtension ($id)
 

Champs de données

const VALIDATE_SIGNATURE_BY_CA = 1
 
const DN_ARRAY = 0
 
const DN_STRING = 1
 
const DN_ASN1 = 2
 
const DN_OPENSSL = 3
 
const DN_CANON = 4
 
const DN_HASH = 5
 
const FORMAT_PEM = 0
 
const FORMAT_DER = 1
 
const FORMAT_SPKAC = 2
 
const FORMAT_AUTO_DETECT = 3
 
const ATTR_ALL = -1
 
const ATTR_APPEND = -2
 
const ATTR_REPLACE = -3
 

Fonctions membres privées

 mapInExtensions (&$root, $path)
 
 mapOutExtensions (&$root, $path)
 
 mapInAttributes (&$root, $path)
 
 mapOutAttributes (&$root, $path)
 
 mapInDNs (&$root, $path)
 
 mapOutDNs (&$root, $path)
 
 getMapping ($extnId)
 
 testForIntermediate ($caonly, $count)
 
 validateSignatureCountable ($caonly, $count)
 
 validateSignatureHelper ($publicKeyAlgorithm, $publicKey, $signatureAlgorithm, $signature, $signatureSubject)
 
 translateDNProp ($propName)
 
 timeField ($date)
 
 isSubArrayValid ($root, $path)
 
subArrayUnchecked (&$root, $path, $create=false)
 
subArray (&$root, $path, $create=false)
 
extensions (&$root, $path=null, $create=false)
 
 removeExtensionHelper ($id, $path=null)
 
 getExtensionHelper ($id, $cert=null, $path=null)
 
 getExtensionsHelper ($cert=null, $path=null)
 
 setExtensionHelper ($id, $value, $critical=false, $replace=true, $path=null)
 
 formatSubjectPublicKey ()
 
 dnsName ($domain)
 
 iPAddress ($address)
 
 revokedCertificate (&$rclist, $serial, $create=false)
 

Fonctions membres privées statiques

static fetchURL ($url)
 
static identifySignatureAlgorithm (PrivateKey $key)
 

Attributs privés

 $dn
 
 $publicKey
 
 $privateKey
 
 $oids
 
 $CAs
 
 $currentCert
 
 $signatureSubject
 
 $startDate
 
 $endDate
 
 $serialNumber
 
 $currentKeyIdentifier
 
 $caFlag = false
 
 $challenge
 
 $extensionValues = []
 
 $ipAddresses = null
 
 $domains = null
 

Attributs privés statiques

static $oidsLoaded = false
 
static $recur_limit = 5
 
static $disable_url_fetch = false
 
static $extensions = []
 

Documentation des constructeurs et destructeur

◆ __construct()

__construct ( )

Default Constructor.

Renvoie
public

Références ASN1\loadOIDs().

Documentation des fonctions membres

◆ computeKeyIdentifier()

computeKeyIdentifier (   $key = null,
  $method = 1 
)

Compute a public key identifier.

Although key identifiers may be set to any unique value, this function computes key identifiers from public key according to the two recommended methods (4.2.1.2 RFC 3280). Highly polymorphic: try to accept all possible forms of key:

  • Key object
  • object with public or private key defined
  • Certificate or CSR array
  • object
  • PEM or DER string
Paramètres
mixed$keyoptional
int$methodoptional public
Renvoie
string binary key identifier

Références $hash, $key, $method, $this, ASN1\asn1map(), ASN1\decodeBER(), ASN1\extractBER(), PublicKeyLoader\load(), et ASN1\TYPE_BIT_STRING.

Référencé par X509\sign().

◆ decodeIP()

static decodeIP (   $ip)
static

Decodes an IP address

Takes in a base64 encoded "blob" and returns a human readable IP address

Paramètres
string$ipprivate
Renvoie
string

◆ decodeNameConstraintIP()

static decodeNameConstraintIP (   $ip)
static

Decodes an IP address in a name constraints extension

Takes in a base64 encoded "blob" and returns a human readable IP address / mask

Paramètres
string$ipprivate
Renvoie
array

Références $size.

◆ disableURLFetch()

static disableURLFetch ( )
static

Prevents URIs from being automatically retrieved

public

◆ dnsName()

dnsName (   $domain)
private

Helper function to build domain array

private

Paramètres
string$domain
Renvoie
array

◆ enableURLFetch()

static enableURLFetch ( )
static

Allows URIs to be automatically retrieved

public

◆ encodeIP()

static encodeIP (   $ip)
static

Encodes an IP address

Takes a human readable IP address into a base64-encoded "blob"

Paramètres
string | array$ipprivate
Renvoie
string

◆ extensions()

& extensions ( $root,
  $path = null,
  $create = false 
)
private

Get a reference to an extension subarray

Paramètres
array$root
string$pathoptional absolute path with / as component separator
bool$createoptional private
Renvoie
array|false

Références $attributes, X509\$currentCert, X509\$extensions, $key, $path, $root, $value, et X509\subArray().

Référencé par X509\getExtensionHelper(), X509\getExtensionsHelper(), X509\removeExtensionHelper(), et X509\setExtensionHelper().

◆ fetchURL()

static fetchURL (   $url)
staticprivate

Fetches a URL

Paramètres
string$urlprivate
Renvoie
bool|string

Références $data, $parts, $temp, et $url.

◆ formatSubjectPublicKey()

formatSubjectPublicKey ( )
private

Format a public key as appropriate

private

Renvoie
array|false

Références $format, X509\$publicKey, ASN1\asn1map(), ASN1\decodeBER(), et RSA\SIGNATURE_PSS.

Référencé par X509\signCSR(), et X509\signSPKAC().

◆ getAttribute()

getAttribute (   $id,
  $disposition = self::ATTR_ALL,
  $csr = null 
)

Get a CSR attribute

Returns the attribute if it exists and false if not

Paramètres
string$id
int$dispositionoptional
array$csroptional public
Renvoie
mixed

Références $attributes, X509\$currentCert, $id, $key, $n, et X509\subArray().

◆ getAttributes()

getAttributes (   $csr = null)

Returns a list of all CSR attributes in use

Paramètres
array$csroptional public
Renvoie
array

Références $attributes, X509\$currentCert, et X509\subArray().

◆ getChain()

getChain ( )

Get the certificate chain for the current cert

public

Renvoie
mixed

Références X509\$currentCert, $i, $key, $value, et X509\getExtension().

◆ getCurrentCert()

& getCurrentCert ( )

Returns the current cert

public

Renvoie
array|bool

Références X509\$currentCert.

◆ getDN()

getDN (   $format = self::DN_ARRAY,
  $dn = null 
)

Get the Distinguished Name for a certificates subject

Paramètres
mixed$formatoptional
array$dnoptional public
Renvoie
array|bool|string

Références $attr, $desc, X509\$dn, $field, $filters, $format, $hash, $i, $output, $result, $start, $type, $value, ASN1\ANY_MAP, ASN1\convert(), elseif, EncoderInterface\encode(), ASN1\encodeDER(), X509\mapOutDNs(), ASN1\setFilters(), ASN1\STRING_TYPE_SIZE, et ASN1\TYPE_UTF8_STRING.

Référencé par X509\getIssuerDN(), X509\getSubjectDN(), et X509\validateSignatureCountable().

◆ getDNProp()

getDNProp (   $propName,
  $dn = null,
  $withType = false 
)

Get Distinguished Name properties

Paramètres
string$propName
array$dnoptional
bool$withTypeoptional
Renvoie
mixed public

Références X509\$dn, $filters, $i, $result, $type, ASN1\ANY_MAP, ASN1\asn1map(), ASN1\convert(), ASN1\decodeBER(), elseif, X509\getMapping(), X509\mapOutDNs(), ASN1\setFilters(), ASN1\STRING_TYPE_SIZE, X509\translateDNProp(), et ASN1\TYPE_UTF8_STRING.

Référencé par X509\getIssuerDNProp(), X509\getSubjectDNProp(), et X509\validateURL().

◆ getExtension()

getExtension (   $id,
  $cert = null,
  $path = null 
)

Get a certificate, CSR or CRL Extension

Returns the extension if it exists and false if not

Paramètres
string$id
array$certoptional
string$pathpublic
Renvoie
mixed

Références $id, $path, et X509\getExtensionHelper().

Référencé par X509\getChain(), X509\getRevokedCertificateExtension(), X509\loadX509(), X509\sign(), X509\signCRL(), X509\testForIntermediate(), X509\validateSignatureCountable(), et X509\validateURL().

◆ getExtensionHelper()

getExtensionHelper (   $id,
  $cert = null,
  $path = null 
)
private

Get an Extension

Returns the extension if it exists and false if not

Paramètres
string$id
array$certoptional
string$pathoptional private
Renvoie
mixed

Références X509\$extensions, $id, $key, $path, $value, et X509\extensions().

Référencé par X509\getExtension().

◆ getExtensions()

getExtensions (   $cert = null,
  $path = null 
)

Returns a list of all extensions in use in certificate, CSR or CRL

Paramètres
array$certoptional
string$pathoptional public
Renvoie
array

Références $path, et X509\getExtensionsHelper().

Référencé par X509\getRevokedCertificateExtensions().

◆ getExtensionsHelper()

getExtensionsHelper (   $cert = null,
  $path = null 
)
private

Returns a list of all extensions in use

Paramètres
array$certoptional
string$pathoptional private
Renvoie
array

Références $extension, X509\$extensions, $path, et X509\extensions().

Référencé par X509\getExtensions().

◆ getIssuerDN()

getIssuerDN (   $format = self::DN_ARRAY)

Get the Distinguished Name for a certificate/crl issuer

Paramètres
int$formatoptional public
Renvoie
mixed

Références $format, et X509\getDN().

Référencé par X509\validateSignatureCountable().

◆ getIssuerDNProp()

getIssuerDNProp (   $propName,
  $withType = false 
)

Get an individual Distinguished Name property for a certificate/crl issuer

Paramètres
string$propName
bool$withTypeoptional public
Renvoie
mixed

Références X509\getDNProp().

◆ getMapping()

getMapping (   $extnId)
private

Associate an extension ID to an extension mapping

Paramètres
string$extnIdprivate
Renvoie
mixed

Référencé par X509\getDNProp(), X509\mapInAttributes(), X509\mapInDNs(), X509\mapInExtensions(), X509\mapOutAttributes(), X509\mapOutDNs(), et X509\mapOutExtensions().

◆ getPublicKey()

getPublicKey ( )

Gets the public key

Returns a object or a false.

public

Renvoie
mixed

Références $key, $path, X509\$publicKey, AsymmetricKey\loadFormat(), RSA\SIGNATURE_PKCS1, et X509\subArray().

Référencé par X509\loadCSR(), et X509\loadSPKAC().

◆ getRegisteredExtension()

static getRegisteredExtension (   $id)
static

Register the mapping for a custom/unsupported extension.

Paramètres
string$id
Renvoie
array|null

Références $id, et null.

◆ getRevoked()

getRevoked (   $serial)

Get a revoked certificate.

Paramètres
string$serialpublic
Renvoie
mixed

Références $i, X509\revokedCertificate(), et X509\subArray().

◆ getRevokedCertificateExtension()

getRevokedCertificateExtension (   $serial,
  $id,
  $crl = null 
)

Get a Revoked Certificate Extension

Returns the extension if it exists and false if not

Paramètres
string$serial
string$id
array$crloptional public
Renvoie
mixed

Références X509\$currentCert, $i, $id, X509\getExtension(), X509\revokedCertificate(), et X509\subArray().

◆ getRevokedCertificateExtensions()

getRevokedCertificateExtensions (   $serial,
  $crl = null 
)

Returns a list of all extensions in use for a given revoked certificate

Paramètres
string$serial
array$crloptional public
Renvoie
array|bool

Références X509\$currentCert, $i, X509\getExtensions(), X509\revokedCertificate(), et X509\subArray().

◆ getSubjectDN()

getSubjectDN (   $format = self::DN_ARRAY)

Get the Distinguished Name for a certificate/csr subject Alias of getDN()

Paramètres
int$formatoptional public
Renvoie
mixed

Références $format, et X509\getDN().

◆ getSubjectDNProp()

getSubjectDNProp (   $propName,
  $withType = false 
)

Get an individual Distinguished Name property for a certificate/csr subject

Paramètres
string$propName
bool$withTypeoptional public
Renvoie
mixed

Références X509\getDNProp(), et null.

◆ identifySignatureAlgorithm()

static identifySignatureAlgorithm ( PrivateKey  $key)
staticprivate

Identify signature algorithm from key settings

Paramètres
PrivateKey$keyprivate
Exceptions

Références $key, et RSA\SIGNATURE_PSS.

◆ iPAddress()

iPAddress (   $address)
private

Helper function to build IP Address array

(IPv6 is not currently supported)

private

Paramètres
string$address
Renvoie
array

◆ isSubArrayValid()

isSubArrayValid (   $root,
  $path 
)
private

Check for validity of subarray

This is intended for use in conjunction with _subArrayUnchecked(), implementing the checks included in _subArray() but without copying a potentially large array by passing its reference by-value to is_array().

Paramètres
array$root
string$path
Renvoie
boolean private

Références $i, $path, et $root.

Référencé par X509\loadCRL(), X509\loadX509(), et X509\mapInAttributes().

◆ listRevoked()

listRevoked (   $crl = null)

List revoked certificates

Paramètres
array$crloptional public
Renvoie
array|bool

Références X509\$currentCert, $result, et X509\subArray().

◆ loadCA()

loadCA (   $cert)

Load an X.509 certificate as a certificate authority

Paramètres
string$certpublic
Renvoie
bool

Références X509\$currentCert, X509\$currentKeyIdentifier, X509\$dn, X509\$signatureSubject, et X509\loadX509().

◆ loadCRL()

loadCRL (   $crl,
  $mode = self::FORMAT_AUTO_DETECT 
)

Load a Certificate Revocation List

Paramètres
string$crl
int$mode
Renvoie
mixed public

Références $extension, $i, $mode, ASN1\asn1map(), ASN1\decodeBER(), ASN1\extractBER(), X509\isSubArrayValid(), X509\mapInDNs(), X509\mapInExtensions(), null, et X509\subArrayUnchecked().

Référencé par X509\signCRL().

◆ loadCSR()

loadCSR (   $csr,
  $mode = self::FORMAT_AUTO_DETECT 
)

Load a Certificate Signing Request

Paramètres
string$csr
int$mode
Renvoie
mixed public

Références $key, $mode, ASN1\asn1map(), ASN1\decodeBER(), ASN1\encodeDER(), ASN1\extractBER(), X509\getPublicKey(), X509\mapInAttributes(), X509\mapInDNs(), et null.

Référencé par X509\signCSR().

◆ loadSPKAC()

loadSPKAC (   $spkac)

Load a SPKAC CSR

SPKAC's are produced by the HTML5 keygen element:

https://developer.mozilla.org/en-US/docs/HTML/Element/keygen

Paramètres
string$spkacpublic
Renvoie
mixed

Références $key, $temp, ASN1\asn1map(), EncoderInterface\decode(), ASN1\decodeBER(), ASN1\encodeDER(), X509\getPublicKey(), et null.

Référencé par X509\signSPKAC().

◆ loadX509()

loadX509 (   $cert,
  $mode = self::FORMAT_AUTO_DETECT 
)

Load X.509 certificate

Returns an associative array describing the X.509 cert or a false if the cert failed to load

Paramètres
string$cert
int$modepublic
Renvoie
mixed

Références X509\$currentKeyIdentifier, $key, $mode, ASN1\asn1map(), ASN1\decodeBER(), ASN1\encodeDER(), ASN1\extractBER(), X509\getExtension(), X509\isSubArrayValid(), X509\mapInDNs(), X509\mapInExtensions(), et null.

Référencé par X509\loadCA(), et X509\sign().

◆ makeCA()

makeCA ( )

Turns the certificate into a certificate authority

public

◆ mapInAttributes()

mapInAttributes ( $root,
  $path 
)
private

Map attribute values from ANY type to attribute-specific internal format.

Paramètres
array$root(by reference)
string$pathprivate

Références $attributes, $i, $id, $path, $root, $value, ASN1\asn1map(), ASN1\decodeBER(), elseif, ASN1\encodeDER(), X509\getMapping(), X509\isSubArrayValid(), X509\mapInExtensions(), et X509\subArray().

Référencé par X509\loadCSR().

◆ mapInDNs()

mapInDNs ( $root,
  $path 
)
private

Map DN values from ANY type to DN-specific internal format.

Paramètres
array$root(by reference)
string$pathprivate

Références $i, $path, $root, $type, $value, ASN1\asn1map(), ASN1\decodeBER(), X509\getMapping(), et X509\subArray().

Référencé par X509\loadCRL(), X509\loadCSR(), et X509\loadX509().

◆ mapInExtensions()

mapInExtensions ( $root,
  $path 
)
private

Map extension values from octet string to extension-specific internal format.

Paramètres
array$root(by reference)
string$pathprivate

Références X509\$extensions, $i, $id, $path, $root, $value, ASN1\asn1map(), class, ASN1\decodeBER(), X509\getMapping(), et X509\subArrayUnchecked().

Référencé par X509\loadCRL(), X509\loadX509(), et X509\mapInAttributes().

◆ mapOutAttributes()

mapOutAttributes ( $root,
  $path 
)
private

Map attribute values from attribute-specific internal format to ANY type.

Paramètres
array$root(by reference)
string$pathprivate

Références $attributes, $i, $id, $path, $root, $size, $temp, ASN1\asn1map(), ASN1\decodeBER(), elseif, ASN1\encodeDER(), X509\getMapping(), X509\mapOutExtensions(), et X509\subArray().

Référencé par X509\saveCSR().

◆ mapOutDNs()

mapOutDNs ( $root,
  $path 
)
private

Map DN values from DN-specific internal format to ANY type.

Paramètres
array$root(by reference)
string$pathprivate

Références $i, $path, $root, $size, $type, $value, ASN1\encodeDER(), X509\getMapping(), et X509\subArray().

Référencé par X509\getDN(), X509\getDNProp(), X509\saveCRL(), X509\saveCSR(), et X509\saveX509().

◆ mapOutExtensions()

mapOutExtensions ( $root,
  $path 
)
private

Map extension values from extension-specific internal format to octet string.

Paramètres
array$root(by reference)
string$pathprivate

Références $data, X509\$extensions, $i, $id, $key, $path, $root, $size, $temp, $value, class, ASN1\CLASS_CONTEXT_SPECIFIC, ASN1\encodeDER(), X509\getMapping(), et X509\subArray().

Référencé par X509\mapOutAttributes(), X509\saveCRL(), et X509\saveX509().

◆ registerExtension()

static registerExtension (   $id,
array  $mapping 
)
static

Register the mapping for a custom/unsupported extension.

Paramètres
string$id
array$mapping

Références $id.

◆ removeAttribute()

removeAttribute (   $id,
  $disposition = self::ATTR_ALL 
)

Remove a CSR attribute.

Paramètres
string$id
int$dispositionoptional public
Renvoie
bool

Références $attributes, $id, $key, $n, $result, et X509\subArray().

Référencé par X509\setAttribute().

◆ removeDNProp()

removeDNProp (   $propName)

Remove Distinguished Name properties

Paramètres
string$propNamepublic

Références X509\$dn, $i, $size, et X509\translateDNProp().

Référencé par X509\setDomain().

◆ removeExtension()

removeExtension (   $id)

Remove a certificate, CSR or CRL Extension

Paramètres
string$idpublic
Renvoie
bool

Références $id, et X509\removeExtensionHelper().

Référencé par X509\sign(), et X509\signCRL().

◆ removeExtensionHelper()

removeExtensionHelper (   $id,
  $path = null 
)
private

Remove an Extension

Paramètres
string$id
string$pathoptional private
Renvoie
bool

Références X509\$extensions, $id, $key, $path, $result, $value, et X509\extensions().

Référencé par X509\removeExtension(), et X509\removeRevokedCertificateExtension().

◆ removeRevokedCertificateExtension()

removeRevokedCertificateExtension (   $serial,
  $id 
)

Remove a Revoked Certificate Extension

Paramètres
string$serial
string$idpublic
Renvoie
bool

Références $i, $id, X509\removeExtensionHelper(), X509\revokedCertificate(), et X509\subArray().

◆ revoke()

revoke (   $serial,
  $date = null 
)

Revoke a certificate.

Paramètres
string$serial
string$dateoptional public
Renvoie
bool

Références $date, $i, X509\revokedCertificate(), X509\subArray(), et X509\timeField().

◆ revokedCertificate()

revokedCertificate ( $rclist,
  $serial,
  $create = false 
)
private

Get the index of a revoked certificate.

Paramètres
array$rclist
string$serial
bool$createoptional private
Renvoie
int|false

Références $i, et X509\timeField().

Référencé par X509\getRevoked(), X509\getRevokedCertificateExtension(), X509\getRevokedCertificateExtensions(), X509\removeRevokedCertificateExtension(), X509\revoke(), X509\setRevokedCertificateExtension(), et X509\unrevoke().

◆ saveCRL()

saveCRL (   $crl,
  $format = self::FORMAT_PEM 
)

Save Certificate Revocation List.

Paramètres
array$crl
int$formatoptional public
Renvoie
string

Références $extension, $filters, $format, $i, Base64\encode(), ASN1\encodeDER(), X509\mapOutDNs(), X509\mapOutExtensions(), ASN1\setFilters(), X509\subArray(), ASN1\TYPE_NULL, et ASN1\TYPE_UTF8_STRING.

Référencé par X509\signCRL().

◆ saveCSR()

saveCSR (   $csr,
  $format = self::FORMAT_PEM 
)

Save CSR request

Paramètres
array$csr
int$formatoptional public
Renvoie
string

Références $filters, $format, Base64\encode(), ASN1\encodeDER(), X509\mapOutAttributes(), X509\mapOutDNs(), ASN1\setFilters(), X509\subArray(), et ASN1\TYPE_UTF8_STRING.

Référencé par X509\signCSR().

◆ saveSPKAC()

saveSPKAC (   $spkac,
  $format = self::FORMAT_PEM 
)

Save a SPKAC CSR request

Paramètres
array$spkac
int$formatoptional public
Renvoie
string

Références $format, Base64\encode(), ASN1\encodeDER(), et X509\subArray().

Référencé par X509\signSPKAC().

◆ saveX509()

saveX509 (   $cert,
  $format = self::FORMAT_PEM 
)

Save X.509 certificate

Paramètres
array$cert
int$formatoptional public
Renvoie
string

Références $extension, $filters, $format, Base64\encode(), ASN1\encodeDER(), X509\mapOutDNs(), X509\mapOutExtensions(), null, ASN1\setFilters(), X509\subArray(), ASN1\TYPE_IA5_STRING, et ASN1\TYPE_UTF8_STRING.

Référencé par X509\sign().

◆ setAttribute()

setAttribute (   $id,
  $value,
  $disposition = self::ATTR_ALL 
)

Set a CSR attribute

Paramètres
string$id
mixed$value
int$dispositionoptional public
Renvoie
bool

Références $attributes, $id, $key, $last, $n, $value, X509\removeAttribute(), et X509\subArray().

◆ setChallenge()

setChallenge (   $challenge)

Set challenge

Used for SPKAC CSR's

Paramètres
string$challengepublic

Références X509\$challenge.

◆ setDN()

setDN (   $dn,
  $merge = false,
  $type = 'utf8String' 
)

Set a Distinguished Name

Paramètres
mixed$dn
bool$mergeoptional
string$typeoptional public
Renvoie
bool

Références X509\$dn, $i, $results, $type, $value, null, et X509\setDNProp().

◆ setDNProp()

setDNProp (   $propName,
  $propValue,
  $type = 'utf8String' 
)

Set a Distinguished Name property

Paramètres
string$propName
mixed$propValue
string$typeoptional public
Renvoie
bool

Références $type, et X509\translateDNProp().

Référencé par X509\setDN(), et X509\setDomain().

◆ setDomain()

setDomain (   $domains)

Set the domain name's which the cert is to be valid for

Paramètres
mixed...$domains public
Renvoie
void

Références X509\$domains, X509\removeDNProp(), et X509\setDNProp().

◆ setEndDate()

setEndDate (   $date)

Set certificate end date

Paramètres
\DateTimeInterface | string$datepublic

Références $date, $temp, ASN1\encodeLength(), et ASN1\TYPE_GENERALIZED_TIME.

◆ setExtension()

setExtension (   $id,
  $value,
  $critical = false,
  $replace = true 
)

Set a certificate, CSR or CRL Extension

Paramètres
string$id
mixed$value
bool$criticaloptional
bool$replaceoptional public
Renvoie
bool

Références $id, $value, et X509\setExtensionHelper().

Référencé par X509\sign(), et X509\signCRL().

◆ setExtensionHelper()

setExtensionHelper (   $id,
  $value,
  $critical = false,
  $replace = true,
  $path = null 
)
private

Set an Extension

Paramètres
string$id
mixed$value
bool$criticaloptional
bool$replaceoptional
string$pathoptional private
Renvoie
bool

Références X509\$extensions, $id, $key, $path, $value, et X509\extensions().

Référencé par X509\setExtension(), et X509\setRevokedCertificateExtension().

◆ setExtensionValue()

setExtensionValue (   $id,
  $value,
  $critical = false,
  $replace = false 
)

Register the mapping for a custom/unsupported extension.

Paramètres
string$id
mixed$value
bool$critical
bool$replace

Références $id.

◆ setIPAddress()

setIPAddress (   $ipAddresses)

Set the IP Addresses's which the cert is to be valid for

public

Paramètres
mixed[]...$ipAddresses

Références X509\$ipAddresses.

◆ setKeyIdentifier()

setKeyIdentifier (   $value)

Sets the subject key identifier

This is used by the id-ce-authorityKeyIdentifier and the id-ce-subjectKeyIdentifier extensions.

Paramètres
string$valuepublic

Références $value.

◆ setPrivateKey()

setPrivateKey ( PrivateKey  $key)

Set private key

Key needs to be a object

Paramètres
PrivateKey$keypublic

Références $key.

◆ setPublicKey()

setPublicKey ( PublicKey  $key)

Set public key

Key needs to be a object

Paramètres
PublicKey$keypublic
Renvoie
void

Références $key.

◆ setRecurLimit()

static setRecurLimit (   $count)
static

Sets the recursion limit

When validating a signature it may be necessary to download intermediate certs from URI's. An intermediate cert that linked to itself would result in an infinite loop so to prevent that we set a recursion limit. A negative number means that there is no recursion limit.

Paramètres
int$countpublic

Références $count.

◆ setRevokedCertificateExtension()

setRevokedCertificateExtension (   $serial,
  $id,
  $value,
  $critical = false,
  $replace = true 
)

Set a Revoked Certificate Extension

Paramètres
string$serial
string$id
mixed$value
bool$criticaloptional
bool$replaceoptional public
Renvoie
bool

Références $i, $id, $value, X509\revokedCertificate(), X509\setExtensionHelper(), et X509\subArray().

◆ setSerialNumber()

setSerialNumber (   $serial,
  $base = -256 
)

Set Serial Number

Paramètres
string$serial
int$baseoptional public

Références $base.

◆ setStartDate()

setStartDate (   $date)

Set certificate start date

Paramètres
\DateTimeInterface | string$datepublic

Références $date.

◆ sign()

sign (   $issuer,
  $subject 
)

Sign an X.509 certificate

$issuer's private key needs to be loaded. $subject can be either an existing X.509 cert (if you want to resign it), a CSR or something with the DN and public key explicitly set.

Paramètres
\phpseclib3\File\X509$issuer
\phpseclib3\File\X509$subjectpublic
Renvoie
mixed

Références X509\$currentCert, X509\$endDate, X509\$ipAddresses, $r, $result, X509\$serialNumber, X509\$signatureSubject, X509\$startDate, $subject, X509\computeKeyIdentifier(), elseif, X509\getExtension(), PSS\load(), X509\loadX509(), null, X509\removeExtension(), PSS\savePSSParams(), X509\saveX509(), X509\setExtension(), Random\string(), et X509\timeField().

◆ signCRL()

signCRL (   $issuer,
  $crl 
)

Sign a CRL

$issuer's private key needs to be loaded.

Paramètres
\phpseclib3\File\X509$issuer
\phpseclib3\File\X509$crlpublic
Renvoie
mixed

Références X509\$currentCert, $result, X509\$serialNumber, X509\$signatureSubject, $version, elseif, X509\getExtension(), X509\loadCRL(), null, X509\removeExtension(), X509\saveCRL(), X509\setExtension(), et X509\timeField().

◆ signCSR()

◆ signSPKAC()

◆ subArray()

◆ subArrayUnchecked()

& subArrayUnchecked ( $root,
  $path,
  $create = false 
)
private

Get a reference to a subarray

This variant of _subArray() does no is_array() checking, so $root should be checked with _isSubArrayValid() first.

This is here for performance reasons: Passing a reference (i.e. $root) by-value (i.e. to is_array()) creates a copy. If $root is an especially large array, this is expensive.

Paramètres
array$root
string$pathabsolute path with / as component separator
bool$createoptional private
Renvoie
array|false

Références $i, $path, et $root.

Référencé par X509\loadCRL(), et X509\mapInExtensions().

◆ testForIntermediate()

testForIntermediate (   $caonly,
  $count 
)
private

Validates an intermediate cert as identified via authority info access extension

See https://tools.ietf.org/html/rfc4325 for more info

Paramètres
bool$caonly
int$countprivate
Renvoie
bool

Références X509\$CAs, $count, $opts, $url, et X509\getExtension().

Référencé par X509\validateSignatureCountable().

◆ timeField()

timeField (   $date)
private

Helper function to build a time field according to RFC 3280 section

  • 4.1.2.5 Validity
  • 5.1.2.4 This Update
  • 5.1.2.5 Next Update
  • 5.1.2.6 Revoked Certificates by choosing utcTime iff year of date given is before 2050 and generalTime else.
Paramètres
string$datein format date('D, d M Y H:i:s O') private
Renvoie
array|Element

Références $date.

Référencé par X509\revoke(), X509\revokedCertificate(), X509\sign(), et X509\signCRL().

◆ translateDNProp()

translateDNProp (   $propName)
private

"Normalizes" a Distinguished Name property

Paramètres
string$propNameprivate
Renvoie
mixed

Référencé par X509\getDNProp(), X509\removeDNProp(), et X509\setDNProp().

◆ unrevoke()

unrevoke (   $serial)

Unrevoke a certificate.

Paramètres
string$serialpublic
Renvoie
bool

Références $i, X509\revokedCertificate(), et X509\subArray().

◆ validateDate()

validateDate (   $date = null)

Validate a date

If $date isn't defined it is assumed to be the current date.

Paramètres
\DateTimeInterface | string$dateoptional public
Renvoie
bool

Références $date.

◆ validateSignature()

validateSignature (   $caonly = true)

Validate a signature

Works on X.509 certs, CSR's and CRL's. Returns true if the signature is verified, false if it is not correct or null on error

By default returns false for self-signed certs. Call validateSignature(false) to make this support self-signed.

The behavior of this function is inspired by openssl_verify.

Paramètres
bool$caonlyoptional public
Renvoie
mixed

Références X509\validateSignatureCountable().

Référencé par X509\validateSignatureCountable().

◆ validateSignatureCountable()

validateSignatureCountable (   $caonly,
  $count 
)
private

Validate a signature

Performs said validation whilst keeping track of how many times validation method is called

Paramètres
bool$caonly
int$countprivate
Renvoie
mixed

Références $count, X509\$currentCert, $i, elseif, X509\getDN(), X509\getExtension(), X509\getIssuerDN(), null, X509\testForIntermediate(), X509\validateSignature(), et X509\validateSignatureHelper().

Référencé par X509\validateSignature().

◆ validateSignatureHelper()

validateSignatureHelper (   $publicKeyAlgorithm,
  $publicKey,
  $signatureAlgorithm,
  $signature,
  $signatureSubject 
)
private

Validates a signature

Returns true if the signature is verified and false if it is not correct. If the algorithms are unsupposed an exception is thrown.

Paramètres
string$publicKeyAlgorithm
string$publicKey
string$signatureAlgorithm
string$signature
string$signatureSubjectprivate
Exceptions

Références $key, X509\$publicKey, X509\$signatureSubject, AsymmetricKey\loadFormat(), et RSA\SIGNATURE_PKCS1.

Référencé par X509\validateSignatureCountable().

◆ validateURL()

validateURL (   $url)

Validate an X.509 certificate against a URL

From RFC2818 "HTTP over TLS":

Matching is performed using the matching rules specified by [RFC2459]. If more than one identity of a given type is present in the certificate (e.g., more than one dNSName name, a match in any one of the set is considered acceptable.) Names may contain the wildcard character * which is considered to match any single domain name component or component fragment. E.g., *.a.com matches foo.a.com but not bar.foo.a.com. f*.com matches foo.com but not bar.com.

Paramètres
string$urlpublic
Renvoie
bool

Références $key, $name, $names, $url, $value, X509\getDNProp(), et X509\getExtension().

Documentation des champs

◆ $caFlag

$caFlag = false
private

◆ $CAs

$CAs
private

Référencé par X509\testForIntermediate().

◆ $challenge

$challenge
private

Référencé par X509\setChallenge().

◆ $currentCert

◆ $currentKeyIdentifier

$currentKeyIdentifier
private

Référencé par X509\loadCA(), et X509\loadX509().

◆ $disable_url_fetch

$disable_url_fetch = false
staticprivate

◆ $dn

◆ $domains

$domains = null
private

Référencé par X509\setDomain().

◆ $endDate

$endDate
private

Référencé par X509\sign().

◆ $extensions

◆ $extensionValues

$extensionValues = []
private

◆ $ipAddresses

$ipAddresses = null
private

Référencé par X509\setIPAddress(), et X509\sign().

◆ $oids

$oids
private

◆ $oidsLoaded

$oidsLoaded = false
staticprivate

◆ $privateKey

$privateKey
private

◆ $publicKey

◆ $recur_limit

$recur_limit = 5
staticprivate

◆ $serialNumber

$serialNumber
private

Référencé par X509\sign(), et X509\signCRL().

◆ $signatureSubject

◆ $startDate

$startDate
private

Référencé par X509\sign().

◆ ATTR_ALL

const ATTR_ALL = -1

Attribute value disposition. If disposition is >= 0, this is the index of the target value.

◆ ATTR_APPEND

const ATTR_APPEND = -2

◆ ATTR_REPLACE

const ATTR_REPLACE = -3

◆ DN_ARRAY

const DN_ARRAY = 0

Return internal array representation

public

Voir également
::getDN()

◆ DN_ASN1

const DN_ASN1 = 2

Return ASN.1 name string

public

Voir également
::getDN()

◆ DN_CANON

const DN_CANON = 4

Return canonical ASN.1 RDNs string

public

Voir également
::getDN()

◆ DN_HASH

const DN_HASH = 5

Return name hash for file indexing

public

Voir également
::getDN()

◆ DN_OPENSSL

const DN_OPENSSL = 3

Return OpenSSL compatible array

public

Voir également
::getDN()

◆ DN_STRING

const DN_STRING = 1

Return string

public

Voir également
::getDN()

◆ FORMAT_AUTO_DETECT

const FORMAT_AUTO_DETECT = 3

Auto-detect the format

Used only by the load*() functions

public

Voir également
::saveX509()
::saveCSR()
::saveCRL()

◆ FORMAT_DER

const FORMAT_DER = 1

Save as DER

public

Voir également
::saveX509()
::saveCSR()
::saveCRL()

◆ FORMAT_PEM

const FORMAT_PEM = 0

Save as PEM

ie. a base64-encoded PEM with a header and a footer

public

Voir également
::saveX509()
::saveCSR()
::saveCRL()

◆ FORMAT_SPKAC

const FORMAT_SPKAC = 2

Save as a SPKAC

public

Voir également
::saveX509()
::saveCSR()
::saveCRL()

Only works on CSRs. Not currently supported.

◆ VALIDATE_SIGNATURE_BY_CA

const VALIDATE_SIGNATURE_BY_CA = 1

Flag to only accept signatures signed by certificate authorities

Not really used anymore but retained all the same to suppress E_NOTICEs from old installs

public


La documentation de cette classe a été générée à partir du fichier suivant :