CERT_FIELD_SERIAL_NUMBER
CERT_FIELD_SERIAL_NUMBER
(int) El número de serie.
Interfaz que deben proveer las clases de soporte de Infraestructura de Clave Pública (PKI) en XGAP.
Los conceptos se basan en el estándar X.509.
Cada instancia debe manejar un único par de claves pública/privada y el certificado correspondiente.
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.
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 |
si no se puede cargar el archivo
si la clave no tiene un formato reconocido o la frase es incorrecta
si la clave no coincide con el certificado
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.
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 |
si la clave no tiene un formato reconocido o la frase es incorrecta
si la clave no coincide con el certificado
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.
string | $filename | nombre del archivo a cargar |
boolean | $store_in_session | ¿la clave se debe almacenar en la sesión? |
si no se puede cargar el archivo
si la clave no tiene un formato reconocido
si la clave no coincide la privada
si el sistema asocia claves públicas con usuarios y {@link getUser()} no coincide con el usuario asociado
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.
string | $content | contenido de la clave |
boolean | $store_in_session | ¿la clave se debe almacenar en la sesión? |
si la clave no tiene un formato reconocido
si la clave no coincide la privada
si el sistema asocia claves públicas con usuarios y {@link getUser()} no coincide con el usuario asociado
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.
string | $filename | nombre del archivo a cargar |
boolean | $store_in_session | ¿el certificado se debe almacenar en la sesión? |
si no se puede cargar el archivo
si el certificado no tiene un formato reconocido
si la clave no coincide la privada
si el sistema asocia certificados con usuarios y {@link getUser()} no coincide con el usuario asociado
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.
string | $content | contenido del certificado |
boolean | $store_in_session | ¿el certificado se debe almacenar en la sesión? |
si el certificado no tiene un formato reconocido
si el certificado no se corresponde con la clave privada
si el sistema asocia certificados con usuarios y {@link getUser()} no coincide con el usuario asociado
si hay algún otro error para realizar la carga
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.
boolean | $keep_public_key | ¿Se debe mantener cargada la clave pública? Si es FALSE, se descarga la clave junto con el certificado |
getCertificateInfo(array $fields = array()) : array
Devuelve información obtenida del certificado.
Ejemplo:
$info = $pki->getCertificateInfo(array(
iXgapPublicKeyInfrastructure::CERT_FIELD_VERSION,
iXgapPublicKeyInfrastructure::CERT_FIELD_SERIAL_NUMBER
));
// $info == array(
// iXgapPublicKeyInfrastructure::CERT_FIELD_VERSION => 3,
// iXgapPublicKeyInfrastructure::CERT_FIELD_SERIAL_NUMBER => 9433777428963602725
// )
array | $fields | los campos a obtener; debe ser vacío para obtener todos los campos disponibles, o un arreglo que contenga como valores las constantes self::CERTFIELD* para obtener una selección específica |
si el certificado no está disponible
si no se puede obtener la información del certificado
si $fields contiene algún nombre de campo desconocido
la información solicitada en forma de un arreglo que contiene las constantes self::CERTFIELD* como claves; NULL si el certificado no está cargado
getCertificateRevocationStatus() : integer
Permite comprobar si el certificado está revocado.
si el certificado no está disponible
si no se pudo obtener parte de la información necesaria para hacer la comprobación
si hay algún otro problema
una de las constantes self::CERTREVOCATION*
getCertificateId() : string
Devuelve un string que identifique unívocamente el certificado.
si el certificado no está disponible
si no se puede obtener la información del certificado
si no se pudo obtener parte de la información necesaria para construir el identificador
sign(mixed $data) : string
Genera una firma de <var>$data</var> usando la clave privada y aplicando el algoritmo SHA1.
El comando OpenSSL equivalente es:
mixed | $data | los datos a firmar; se acepta cualquier tipo de datos que se pueda convertir a string |
si la clave privada no está disponible
si la operación no se pudo realizar correctamente
la firma en formato binario
verify(mixed $data, string $signature) : boolean
Permite verificar si la firma <var>$signature</var> es válida para los datos <var>$data</var> usando la clave pública. Supone que la firma se realizó usando el algoritmo SHA1.
El comando OpenSSL equivalente es:
mixed | $data | los datos a los que debe corresponder la firma; se acepta cualquier tipo de datos que se pueda convertir a string |
string | $signature | la firma a comprobar contra los datos |
si la clave privada no está disponible
si la operación no se pudo realizar correctamente
TRUE si la firma es válida; FALSE si no