refresh date: 2026-09-25 robots: noindex
Descripción
Usa la API de chrome.platformKeys para acceder a los certificados de cliente que administra la plataforma. Si el usuario o la política otorgan el permiso, una extensión puede usar ese certificado en su protocolo de autenticación personalizado. Por ejemplo, esto permite el uso de certificados administrados por la plataforma en VPN de terceros (consulta chrome.vpnProvider).
Permisos
platformKeysDisponibilidad
Tipos
ClientCertificateRequest
Propiedades
-
certificateAuthorities
ArrayBuffer[]
Es la lista de nombres distinguidos de las autoridades certificadoras que permite el servidor. Cada entrada debe ser un DistinguishedName X.509 codificado en DER.
-
certificateTypes
Este campo es una lista de los tipos de certificados solicitados, ordenados según la preferencia del servidor. Solo se recuperarán los certificados de un tipo incluido en esta lista. Sin embargo, si
certificateTypeses la lista vacía, se devolverán certificados de cualquier tipo.
ClientCertificateType
Enum
"rsaSign"
"ecdsaSign"
Match
Propiedades
-
certificado
ArrayBuffer
La codificación DER de un certificado X.509.
-
keyAlgorithm
objeto
El KeyAlgorithm de la clave certificada. Contiene parámetros de algoritmo que son inherentes a la clave del certificado (p.ej., la longitud de la clave). No se incluyen otros parámetros, como la función hash que usa la función de firma.
SelectDetails
Propiedades
-
clientCerts
ArrayBuffer[] opcional
Si se proporciona, el
selectClientCertificatesopera en esta lista. De lo contrario, obtiene la lista de todos los certificados de los almacenes de certificados de la plataforma que están disponibles para estas extensiones. Se quitan las entradas para las que la extensión no tiene permiso o que no coinciden con la solicitud. -
interactive
booleano
Si es verdadero, se presenta la lista filtrada al usuario para que seleccione un certificado de forma manual y, de ese modo, otorgue a la extensión acceso a los certificados y las claves. Solo se devolverán los certificados seleccionados. Si es falso, la lista se reduce a todos los certificados a los que se le otorgó acceso a la extensión (automática o manualmente).
-
solicitud
Solo se devolverán los certificados que coincidan con esta solicitud.
VerificationDetails
Propiedades
-
Nombre de host
string
Es el nombre de host del servidor para el que se verificará el certificado, p.ej., el servidor que presentó el
serverCertificateChain. -
serverCertificateChain
ArrayBuffer[]
Cada entrada de la cadena debe ser la codificación DER de un certificado X.509, la primera entrada debe ser el certificado del servidor y cada entrada debe certificar la entrada que la precede.
VerificationResult
Propiedades
-
debug_errors
string[]
Si la verificación de confianza falló, este array contiene los errores que informó la capa de red subyacente. De lo contrario, este array está vacío.
Nota: Esta lista solo se usa para la depuración y es posible que no contenga todos los errores pertinentes. Los errores que se devuelven pueden cambiar en revisiones futuras de esta API y no se garantiza que sean retrocompatibles con versiones anteriores o posteriores.
-
de confianza
booleano
Es el resultado de la verificación de confianza: verdadero si se pudo establecer la confianza para los detalles de verificación proporcionados y falso si se rechaza la confianza por cualquier motivo.
Métodos
getKeyPair()
chrome.platformKeys.getKeyPair(
certificate: ArrayBuffer,
parameters: object,
callback: function,
): void
Pasa el par de claves de certificate para usarlo con platformKeys.subtleCrypto a callback.
Parámetros
-
certificado
ArrayBuffer
El certificado de un
Matchque devuelveselectClientCertificates. -
Parámetros
objeto
Determina los parámetros del algoritmo de firma o hash, además de los parámetros que fija la clave. Se aceptan los mismos parámetros que en la función importKey de WebCrypto, p.ej.,
RsaHashedImportParamspara una clave RSASSA-PKCS1-v1_5 yEcKeyImportParamspara una clave EC. Además, para las claves RSASSA-PKCS1-v1_5, el parámetro de nombre del algoritmo de hash se puede especificar con uno de los siguientes valores: "none", "SHA-1", "SHA-256", "SHA-384" o "SHA-512", p.ej.,{"hash": { "name": "none" } }. Luego, la función de firma aplicará el relleno PKCS#1 v1.5, pero no aplicará un hash a los datos proporcionados.Actualmente, este método solo admite los algoritmos "RSASSA-PKCS1-v1_5" y "ECDSA".
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(publicKey: object, privateKey?: object) => void
-
publicKey
objeto
-
privateKey
objeto opcional
Puede ser
nullsi esta extensión no tiene acceso a ella.
-
getKeyPairBySpki()
chrome.platformKeys.getKeyPairBySpki(
publicKeySpkiDer: ArrayBuffer,
parameters: object,
callback: function,
): void
Pasa el par de claves identificado por publicKeySpkiDer para usarlo con platformKeys.subtleCrypto a callback.
Parámetros
-
publicKeySpkiDer
ArrayBuffer
Un SubjectPublicKeyInfo X.509 con codificación DER, que se obtiene, por ejemplo, llamando a la función exportKey de WebCrypto con format="spki".
-
Parámetros
objeto
Proporciona parámetros de algoritmo de firma y hash, además de los que fija la clave en sí. Se aceptan los mismos parámetros que en la función importKey de WebCrypto, p.ej.,
RsaHashedImportParamspara una clave RSASSA-PKCS1-v1_5. Para las claves RSASSA-PKCS1-v1_5, también debemos pasar un parámetro "hash"{ "hash": { "name": string } }. El parámetro "hash" representa el nombre del algoritmo de hash que se usará en la operación de resumen antes de una firma. Es posible pasar "none" como el nombre del hash, en cuyo caso la función de firma aplicará el relleno PKCS#1 v1.5, pero no aplicará el hash a los datos proporcionados.Actualmente, este método admite el algoritmo "ECDSA" con la curva con nombre P-256 y el algoritmo "RSASSA-PKCS1-v1_5" con uno de los algoritmos de hash "none", "SHA-1", "SHA-256", "SHA-384" y "SHA-512".
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(publicKey: object, privateKey?: object) => void
-
publicKey
objeto
-
privateKey
objeto opcional
Puede ser
nullsi esta extensión no tiene acceso a ella.
-
selectClientCertificates()
chrome.platformKeys.selectClientCertificates(
details: SelectDetails,
callback?: function,
): Promise<Match[]>
Este método filtra de una lista de certificados de cliente los que son conocidos para la plataforma, coinciden con request y para los que la extensión tiene permiso para acceder al certificado y su clave privada. Si interactive es verdadero, se le presenta al usuario un diálogo en el que puede seleccionar entre los certificados que coinciden y otorgarle a la extensión acceso al certificado. Los certificados de cliente seleccionados o filtrados se pasarán a callback.
Parámetros
-
detalles
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(matches: Match[]) => void
-
coincide con
Es la lista de certificados que coinciden con la solicitud, para los que la extensión tiene permiso y, si
interactivees verdadero, que seleccionó el usuario.
-
Muestra
-
Promise<Match[]>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
subtleCrypto()
chrome.platformKeys.subtleCrypto(): object | undefined
Es una implementación de SubtleCrypto de WebCrypto que permite operaciones criptográficas en claves de certificados de cliente que están disponibles para esta extensión.
Muestra
-
object | undefined
verifyTLSServerCertificate()
chrome.platformKeys.verifyTLSServerCertificate(
details: VerificationDetails,
callback?: function,
): Promise<VerificationResult>
Verifica si se puede confiar en details.serverCertificateChain para details.hostname según la configuración de confianza de la plataforma. Nota: El comportamiento real de la verificación de confianza no se especifica por completo y podría cambiar en el futuro. La implementación de la API verifica el vencimiento del certificado, valida la ruta de certificación y comprueba la confianza de una AC conocida. Se supone que la implementación respeta el EKU serverAuth y admite nombres alternativos de sujeto.
Parámetros
-
detalles
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(result: VerificationResult) => void
-
resultado
-
Muestra
-
Promise<VerificationResult>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.