keystore
El objeto almacén de claves le permite registrar certificados de cliente con el reproductor.
Mientras que los paquetes CA (agregados usando el método AddCAPackage() ) son persistentes, los certificados individuales (agregados usando los métodos AddCACertificate() y AddClientCertificate() ) no lo son; los certificados individuales deben registrarse en la base de datos de certificados después de cada reinicio.
No puede acceder a los certificados que se agregaron al keystore usando JavaScript o BrightScript. Los desarrolladores que quieran usar un certificado con su aplicación Java tendrán que acceder a él directamente desde su aplicación.
IDL de keystore
interface KeyStore {
Promise<void> addCaCertificate(String filename);
Promise<void> addCaPackage(String filename);
Promise<void> removeCaPackage(String filename);
Promise<PackageList> getCaPackagesInstalled();
Promise<void> addClientCertificate(ClientCertificateObject object);
};
interface ClientCertificateObject {
attribute String certificateFile;
attribute String passphrase;
attribute String obfuscatedPassphrase;
};
Creación de objetos
Para crear un objeto keystore , primero cargue el módulo brightsign/keystore usando el método require(). Luego cree una instancia de la clase keystore .
var keystoreClass = require("@brightsign/keystore");
var keystore = new keystoreClass();KeyStore
Use esta interfaz para agregar certificados a la base de datos de certificados.
addCaCertificate()
Promise<> addCaCertificate(DOMString filename)Registra el certificado CA especificado en la base de datos de certificados. Los certificados de cliente pueden ser autofirmados o estar firmados usando una entidad emisora de certificados de terceros (Versign, DigiCert, etc.).
Chromium versión 69 o posterior rechazará los certificados SHA-1. Consulte esta página para obtener más información.
addCaPackage()
Promise<> addCaPackage(DOMString filename)Agrega el archivo de paquete CA especificado a la base de datos de certificados. El nombre del paquete reside en el archivo y no necesita ser el mismo que el nombre del archivo. Consulte la página roKeyStore para obtener más información sobre cómo generar paquetes CA.
Intentar modificar un archivo de paquete CA que se ha agregado a la base de datos lo invalidará. Si un paquete se invalida, deberá eliminarse de la base de datos (usando el método removeCaPackage() ) y agregarse nuevamente.
removeCaPackage()
Promise<PackageList> getCaPackagesInstalled()Elimina el paquete CA especificado de la base de datos de certificados. Use el método getCaPackagesInstalled() para recuperar una lista de nombres de paquetes en la base de datos.
getCaPackagesInstalled()
Promise<PackageList> getCaPackagesInstalled()Devuelve una lista de nombres de paquetes CA contenidos en la base de datos de certificados.
addClientCertificate()
Promise<> addClientCertificate(ClientCertificateObject object)Registra un certificado de cliente .p12 en la base de datos de certificados.
ClientCertificateObject
Esta interfaz representa un archivo de certificado .p12.
- certificateFile String: El nombre y la ruta del archivo del certificado de cliente .p12
- frase de contraseña String: Una frase de contraseña para el certificado de cliente .p12
- obfuscatedPassphrase String: Una frase de contraseña ofuscada para el certificado de cliente .p12
Solo se requiere uno de obfuscatedPassphrase y frase de contraseña y obfuscatedPassphrase tiene prioridad si ambos están presentes. Recomendamos usar obfuscated_passphrase en entornos de producción, mientras que frase de contraseña debe usarse solo para fines de prueba. Contacte con [email protected] para obtener más información sobre cómo generar una clave para la ofuscación y almacenarla en el reproductor.
Ejemplo
ksf = require('@brightsign/keystore');
k = new ksf()
k.addCaPackage("/storage/sd/example.bsca").then(() => console.log('ok'), () => console.log('failed'))
k.getCaPackagesInstalled().then((pkgs) => console.log(pkgs))
k.removeCaPackage('example').then(() => console.log('ok'), () => console.log('failed'))