Vernieuwingsdatum: 2026-09-25 robots: noindex
Beschrijving
Gebruik de chrome.platformKeys API om toegang te krijgen tot clientcertificaten die door het platform worden beheerd. Als de gebruiker of het beleid de toestemming verleent, kan een extensie een dergelijk certificaat gebruiken in zijn eigen authenticatieprotocol. Dit maakt bijvoorbeeld het gebruik van door het platform beheerde certificaten in VPN's van derden mogelijk (zie chrome.vpnProvider ).
Toestemmingen
platformKeysBeschikbaarheid
Soorten
ClientCertificateRequest
Eigenschappen
- certificeringsinstanties
ArrayBuffer[]
Lijst met distinguished names van certificeringsinstanties die door de server zijn toegestaan. Elke vermelding moet een DER-gecodeerde X.509 DistinguishedName zijn.
- certificaattypen
Dit veld bevat een lijst met de gevraagde certificaattypen, gesorteerd op de voorkeur van de server. Alleen certificaten van een type dat in deze lijst voorkomt, worden opgehaald. Als
certificateTypesechter leeg is, worden certificaten van elk type geretourneerd.
ClientCertificateType
Enum
"rsaSign" "ecdsaSign"
Match
Eigenschappen
- certificaat
ArrayBuffer
De DER-codering van een X.509-certificaat.
- sleutelalgoritme
voorwerp
Het sleutelalgoritme van de gecertificeerde sleutel. Dit bevat algoritme-parameters die inherent zijn aan de sleutel van het certificaat (bijvoorbeeld de sleutellengte). Andere parameters, zoals de hashfunctie die door de ondertekeningsfunctie wordt gebruikt, zijn niet inbegrepen.
SelectDetails
Eigenschappen
- clientCerts
ArrayBuffer[] optioneel
Indien opgegeven, werkt
selectClientCertificatesmet deze lijst. Anders wordt de lijst met alle certificaten uit de certificaatarchieven van het platform opgehaald die beschikbaar zijn voor deze extensie. Vermeldingen waarvoor de extensie geen toestemming heeft of die niet overeenkomen met het verzoek, worden verwijderd. - interactieve
booleaans
Indien waar, wordt de gefilterde lijst aan de gebruiker getoond, zodat deze handmatig een certificaat kan selecteren en de extensie toegang kan verlenen tot het/de certificaat(en) en de/sleutel(s). Alleen het/de geselecteerde certificaat(en) worden geretourneerd. Indien onwaar, wordt de lijst beperkt tot alle certificaten waartoe de extensie toegang heeft gekregen (automatisch of handmatig).
- verzoek
Alleen certificaten die aan dit verzoek voldoen, worden geretourneerd.
VerificationDetails
Eigenschappen
- hostnaam
snaar
De hostnaam van de server waarvoor het certificaat moet worden geverifieerd, bijvoorbeeld de server die de
serverCertificateChainheeft aangeboden. - serverCertificateChain
ArrayBuffer[]
Elke vermelding in de certificaatketen moet de DER-codering van een X.509-certificaat zijn, de eerste vermelding moet het servercertificaat zijn en elke vermelding moet de voorafgaande vermelding certificeren.
VerificationResult
Eigenschappen
- debug_errors
snaar[]
Als de vertrouwensverificatie mislukt, bevat deze array de fouten die door de onderliggende netwerklaag zijn gerapporteerd. Anders is deze array leeg.
Let op: deze lijst is alleen bedoeld voor debugdoeleinden en bevat mogelijk niet alle relevante fouten. De geretourneerde fouten kunnen in toekomstige versies van deze API wijzigen en er is geen garantie dat ze voorwaarts of achterwaarts compatibel zijn.
- vertrouwd
booleaans
Het resultaat van de vertrouwensverificatie: waar als het vertrouwen in de opgegeven verificatiegegevens kon worden vastgesteld en onwaar als het vertrouwen om welke reden dan ook werd afgewezen.
Methoden
getKeyPair()
chrome.platformKeys.getKeyPair(
certificate: ArrayBuffer,
parameters: object,
callback: function,
): void
Geeft het sleutelpaar van certificate door aan callback voor gebruik met platformKeys.subtleCrypto .
Parameters
- certificaat
ArrayBuffer
Het certificaat van een
Match, geretourneerd doorselectClientCertificates. - parameters
voorwerp
Bepaalt de parameters voor het handtekening-/hashalgoritme, naast de parameters die door de sleutel zelf zijn vastgelegd. Dezelfde parameters worden geaccepteerd als door de importKey- functie van WebCrypto, bijvoorbeeld
RsaHashedImportParamsvoor een RSASSA-PKCS1-v1_5-sleutel enEcKeyImportParamsvoor een EC-sleutel. Daarnaast kan voor RSASSA-PKCS1-v1_5-sleutels de parameter voor de naam van het hashalgoritme worden opgegeven met een van de volgende waarden: "none", "SHA-1", "SHA-256", "SHA-384" of "SHA-512", bijvoorbeeld{"hash": { "name": "none" } }. De ondertekeningsfunctie zal dan PKCS#1 v1.5-padding toepassen, maar de gegeven data niet hashen.Momenteel ondersteunt deze methode alleen de algoritmen "RSASSA-PKCS1-v1_5" en "ECDSA".
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(publicKey: object, privateKey?: object) => void
- openbare sleutel
voorwerp
- privésleutel
object optioneel
Kan
nullzijn als deze extensie er geen toegang toe heeft.
getKeyPairBySpki()
chrome.platformKeys.getKeyPairBySpki(
publicKeySpkiDer: ArrayBuffer,
parameters: object,
callback: function,
): void
Geeft het sleutelpaar dat is geïdentificeerd door publicKeySpkiDer door aan callback voor gebruik met platformKeys.subtleCrypto .
Parameters
- publicKeySpkiDer
ArrayBuffer
Een DER-gecodeerde X.509 SubjectPublicKeyInfo, verkregen bijvoorbeeld door de exportKey-functie van WebCrypto aan te roepen met het formaat "spki".
- parameters
voorwerp
Deze functie biedt parameters voor de handtekening en het hash-algoritme, naast de parameters die door de sleutel zelf worden bepaald. Dezelfde parameters worden geaccepteerd als door de importKey- functie van WebCrypto, bijvoorbeeld
RsaHashedImportParamsvoor een RSASSA-PKCS1-v1_5-sleutel. Voor RSASSA-PKCS1-v1_5-sleutels moeten we ook een "hash"-parameter doorgeven{ "hash": { "name": string } }. De parameter "hash" vertegenwoordigt de naam van het hash-algoritme dat moet worden gebruikt in de digest-bewerking vóór een ondertekening. Het is mogelijk om "none" als hash-naam door te geven, in welk geval de ondertekeningsfunctie PKCS#1 v1.5-padding toepast, maar de gegeven data niet hasht.Momenteel ondersteunt deze methode het "ECDSA"-algoritme met named-curve P-256 en het "RSASSA-PKCS1-v1_5"-algoritme met een van de hashing-algoritmen "geen", "SHA-1", "SHA-256", "SHA-384" en "SHA-512".
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(publicKey: object, privateKey?: object) => void
- openbare sleutel
voorwerp
- privésleutel
object optioneel
Kan
nullzijn als deze extensie er geen toegang toe heeft.
selectClientCertificates()
chrome.platformKeys.selectClientCertificates(
details: SelectDetails,
callback?: function,
): Promise<Match[]>
Deze methode filtert uit een lijst met clientcertificaten de certificaten die bekend zijn bij het platform, overeenkomen met request en waarvoor de extensie toegang heeft tot het certificaat en de bijbehorende privésleutel. Als interactive waar is, krijgt de gebruiker een dialoogvenster te zien waarin hij/zij een van de overeenkomende certificaten kan selecteren en de extensie toegang tot het certificaat kan verlenen. De geselecteerde/gefilterde clientcertificaten worden doorgegeven aan callback .
Parameters
- details
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(matches: Match[]) => void
- wedstrijden
Overeenkomst []
De lijst met certificaten die overeenkomen met het verzoek, waarvoor de extensie toestemming heeft en, indien
interactiveis ingeschakeld, die door de gebruiker zijn geselecteerd.
Retourneert
Promise< Match []>
Chrome 121+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
subtleCrypto()
chrome.platformKeys.subtleCrypto(): object | undefined
Een implementatie van WebCrypto's SubtleCrypto waarmee cryptografische bewerkingen kunnen worden uitgevoerd op sleutels van clientcertificaten die beschikbaar zijn voor deze extensie.
Retourneert
object | niet gedefinieerd
verifyTLSServerCertificate()
chrome.platformKeys.verifyTLSServerCertificate(
details: VerificationDetails,
callback?: function,
): Promise<VerificationResult>
Controleert of details.serverCertificateChain kan worden vertrouwd voor details.hostname op basis van de vertrouwensinstellingen van het platform. Opmerking: Het daadwerkelijke gedrag van de vertrouwensverificatie is niet volledig gespecificeerd en kan in de toekomst veranderen. De API-implementatie verifieert de vervaldatum van het certificaat, valideert het certificeringspad en controleert het vertrouwen door een bekende CA. De implementatie dient de EKU serverAuth te respecteren en alternatieve onderwerpnamen te ondersteunen.
Parameters
- details
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(result: VerificationResult) => void
- resultaat
Retourneert
Promise< VerificationResult >
Chrome 121+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.