Constants

DEFAULT_PKI_CLASS

DEFAULT_PKI_CLASS

Nombre de clase concreta a instanciar por defecto si no se especifica otra implementación.

Methods

instance()

instance(mixed  $user) : \PublicKeyInfrastructure

Retorna una instancia correspondiente al usuario <var>$user</var>.

Parameters

mixed $user

usuario al que van a corresponder las operaciones de este objeto; se puede usar cualquier tipo de datos que se pueda convertir a string

Throws

\XgapPublicKeyInfrastructureInstantiationException

si no se puede crear la instancia por algún motivo

\XgapPublicKeyInfrastructureUnavailableException

si no se puede crear la instancia porque hay algún requisito que no se cumple

Returns

\PublicKeyInfrastructure

__construct()

__construct(mixed  $user) 

Crea la instancia. Si las claves o el certificado del usuario están guardados en la sesión, los carga automáticamente.

Parameters

mixed $user

usuario al que van a corresponder las operaciones de este objeto; se puede usar cualquier tipo de datos que se pueda convertir a string

getUser()

getUser() : mixed

Returns

mixed —

usuario al que corresponden las operaciones de este objeto.

getPrivateKey()

getPrivateKey() : string

Devuelve el contenido de la clave privada.

Returns

string

getPublicKey()

getPublicKey() : string

Devuelve el contenido de la clave pública.

Returns

string

getCertificate()

getCertificate() : string

Devuelve el contenido del certificado.

Returns

string

loadPrivateKey()

loadPrivateKey(string  $content, boolean  $store_in_session = FALSE, string  $passphrase = NULL) 

Carga el contenido de la clave privada.

Si el certificado está cargado, se comprueba que se corresponda con la clave.

Parameters

string $content

contenido de la clave

boolean $store_in_session

¿la clave se debe almacenar en la sesión?

string $passphrase

la frase usada para encriptar la clave

loadPrivateKeyFile()

loadPrivateKeyFile(string  $filename, boolean  $store_in_session = FALSE, string  $passphrase = NULL) 

Carga el contenido de la clave privada a partir de un archivo.

Si el certificado está cargado, se comprueba que se corresponda con la clave.

Parameters

string $filename

nombre del archivo a cargar

boolean $store_in_session

¿la clave se debe almacenar en la sesión?

string $passphrase

la frase usada para encriptar la clave

loadPublicKey()

loadPublicKey(string  $content, boolean  $store_in_session = FALSE) 

Carga el contenido de la clave pública.

Si hubiera un certificado cargado, lo descarga. Para que estén disponibles tanto la clave pública como el certificado, se debe cargar el certificado, no la clave.

Si la clave privada está cargada, se comprueba que se corresponda con la pública.

Parameters

string $content

contenido de la clave

boolean $store_in_session

¿la clave se debe almacenar en la sesión?

loadPublicKeyFile()

loadPublicKeyFile(string  $filename, boolean  $store_in_session = FALSE) 

Carga el contenido de la clave pública a partir de un archivo.

Si hubiera un certificado cargado, lo descarga. Para que estén disponibles tanto la clave pública como el certificado, se debe cargar el certificado, no la clave.

Si la clave privada está cargada, se comprueba que se corresponda con la pública.

Parameters

string $filename

nombre del archivo a cargar

boolean $store_in_session

¿la clave se debe almacenar en la sesión?

loadCertificate()

loadCertificate(string  $content, boolean  $store_in_session = FALSE) 

Carga el contenido un certificado.

Simultáneamente carga la clave pública desde el certificado.

Si la clave privada está cargada, se comprueba que se corresponda con el certificado.

Parameters

string $content

contenido del certificado

boolean $store_in_session

¿el certificado se debe almacenar en la sesión?

loadCertificateFile()

loadCertificateFile(string  $filename, boolean  $store_in_session = FALSE) 

Carga el contenido de un certificado partir de un archivo.

Simultáneamente carga la clave pública desde el certificado.

Si la clave privada está cargada, se comprueba que se corresponda con el certificado.

Parameters

string $filename

nombre del archivo a cargar

boolean $store_in_session

¿el certificado se debe almacenar en la sesión?

unloadPrivateKey()

unloadPrivateKey() 

Descarga la clave privada de la instancia y de la sesión.

No tiene efecto si la clave no está cargada.

unloadPublicKey()

unloadPublicKey() 

Descarga la clave pública de la instancia y de la sesión.

No tiene efecto si la clave no está cargada.

unloadCertificate()

unloadCertificate(boolean  $keep_public_key = FALSE) 

Descarga el certificado pública de la instancia y de la sesión.

No tiene efecto si la clave no está cargada.

Parameters

boolean $keep_public_key

¿Se debe mantener cargada la clave pública? Si es FALSE, se descarga la clave junto con el certificado

unloadAll()

unloadAll() 

Descarga de la instancia y de la sesión el certificado y las claves pública y privada.

isPrivateKeyAvailable()

isPrivateKeyAvailable() : boolean

Permite comprobar si la clave privada ha sido cargada y es válida.

Returns

boolean

isPublicKeyAvailable()

isPublicKeyAvailable() : boolean

Permite comprobar si la clave pública ha sido cargada y es válida.

Returns

boolean

isCertificateAvailable()

isCertificateAvailable() : boolean

Permite comprobar si el certificado ha sido cargado y es válido.

Returns

boolean

getCertificateId()

getCertificateId() : string

Devuelve un string que identifica unívocamente el certificado, en el formato: <pre>"Serial Number: {Serial Number}; Issuer CN: {Issuer -> CN}"</pre>

Throws

\XgapPublicKeyInfrastructureKeyUnavailableException

si el certificado no está disponible

\XgapPublicKeyInfrastructureMissingInfoException

si no se pudo obtener parte de la información necesaria para construir el identificador

Returns

string

getPassphrase()

getPassphrase() : string

Devuelve la frase usada para encriptar la clave privada.

Returns

string

_getPrivateKey()

_getPrivateKey() : string

Retorna la clave privada, sin comprobar su disponibilidad.

No dispara excepciones.

Returns

string —

la clave (posiblemente con formato inválido) o NULL si no está cargada

_getPublicKey()

_getPublicKey() : string

Retorna la clave pública, sin comprobar su disponibilidad.

No dispara excepciones.

Returns

string —

la clave (posiblemente con formato inválido) o NULL si no está cargada

_getCertificate()

_getCertificate() : string

Retorna el certificado, sin comprobar su disponibilidad.

No dispara excepciones.

Returns

string —

el certificado (posiblemente con formato inválido) o NULL si no está cargado

loadFileContents()

loadFileContents(string  $filename) : string

Carga el contenido de un archivo y lo retorna como string.

Parameters

string $filename

el nombre del archivo

Throws

\XgapPublicKeyInfrastructureLoadException

si no se puede cargar el archivo

Returns

string

performKeysMatchCheck()

performKeysMatchCheck() 

Comprueba que la privada se corresponda con el certificado o la pública.

No tiene efecto si no están cargados tanto la privada como el certificado o la pública.

Throws

\XgapPublicKeyInfrastructureKeyMismatchException

si no hay correspondencia

checkKeysMatch()

checkKeysMatch() 

Comprueba que la privada se corresponda con el certificado o la clave pública.

No tiene efecto si no cargados están tanto la privada como el certificado o la pública.

Throws

\XgapPublicKeyInfrastructureKeyMismatchException

si no hay correspondencia

getPrivateKeyFromFile()

getPrivateKeyFromFile(  $filename) : mixed

Carga una clave privada guardada en un archivo y retorna la representación.

La implementación provista retorna el contenido del archivo como un string.

Parameters

$filename

Throws

\XgapPublicKeyInfrastructureLoadException

si no se puede cargar el archivo

Returns

mixed —

la clave cargada

getPublicKeyFromFile()

getPublicKeyFromFile(  $filename) : mixed

Carga una clave pública guardada en un archivo y retorna la representación.

La implementación provista retorna el contenido del archivo como un string.

Parameters

$filename

Throws

\XgapPublicKeyInfrastructureLoadException

si no se puede cargar el archivo

Returns

mixed —

la clave cargada

getCertificateFromFile()

getCertificateFromFile(  $filename) : mixed

Carga un certificado guardado en un archivo y retorna la representación.

La implementación provista retorna el contenido del archivo como un string.

Parameters

$filename

Throws

\XgapPublicKeyInfrastructureLoadException

si no se puede cargar el archivo

Returns

mixed —

la clave cargada

performPrivateKeyFormatCheck()

performPrivateKeyFormatCheck() 

Comprueba que la clave privada cargada tenga un formato válido y dispara una excepción si no.

Sólo se invoca si la clave privada está cargada.

Throws

\XgapPublicKeyInfrastructureCheckException

si la clave no tiene un formato reconocido

performPublicKeyFormatCheck()

performPublicKeyFormatCheck() 

Comprueba que la clave pública cargada tenga un formato válido y dispara una excepción si no.

Sólo se invoca si la clave pública está cargada.

Throws

\XgapPublicKeyInfrastructureCheckException

si la clave no tiene un formato reconocido

checkPublicKeyOwnerMatch()

checkPublicKeyOwnerMatch() 

Compara el usuario asociado al objeto y a la clave pública.

Throws

\XgapPublicKeyInfrastructureOwnerMismatchException

si el sistema asocia claves públicas con usuarios y {@link getUser()} no coincide con el usuario asociado

performCertificateFormatCheck()

performCertificateFormatCheck() 

Comprueba que el certificado cargado tenga un formato válido y dispara una excepción si no.

Sólo se invoca si el el certificado está cargado.

Throws

\XgapPublicKeyInfrastructureCheckException

si el certificado no tiene un formato reconocido

checkCertificateOwnerMatch()

checkCertificateOwnerMatch() 

Compara el usuario asociado al objeto y al certificado.

Throws

\XgapPublicKeyInfrastructureOwnerMismatchException

si el sistema asocia certificados con usuarios y {@link getUser()} no coincide con el usuario asociado

getPublicKeyFromCertificate()

getPublicKeyFromCertificate() : string

Carga y retorna la clave pública a partir del certificado.

Sólo se invoca con un certificado disponible.

Returns

string —

el contenido de la clave pública o NULL si no se pudo obtener la clave

isPrivateKeyLoaded()

isPrivateKeyLoaded() : boolean

Permite comprobar si la clave privada ha sido cargada, independientemente que sea válida o no.

Returns

boolean

isPublicKeyLoaded()

isPublicKeyLoaded() : boolean

Permite comprobar si la clave pública ha sido cargada, independientemente que sea válida o no.

Returns

boolean

isCertificateLoaded()

isCertificateLoaded() : boolean

Permite comprobar si el certificado ha sido cargado, independientemente que sea válido o no.

Returns

boolean