refresh date: 2026-09-25 robots: noindex
Açıklama
Platform tarafından yönetilen istemci sertifikalarına erişmek için chrome.platformKeys API'sini kullanın. Kullanıcı veya politika izni verirse uzantı, özel kimlik doğrulama protokolünde bu tür bir sertifika kullanabilir. Örneğin, bu sayede üçüncü taraf VPN'lerde platform tarafından yönetilen sertifikalar kullanılabilir (chrome.vpnProvider'a bakın).
İzinler
platformKeysKullanılabilirlik
Türler
ClientCertificateRequest
Özellikler
-
certificateAuthorities
ArrayBuffer[]
Sunucu tarafından izin verilen sertifika yetkililerinin ayırt edici adlarının listesi. Her giriş, DER kodlu bir X.509 DistinguishedName olmalıdır.
-
certificateTypes
Bu alan, istenen sertifika türlerinin sunucunun tercih sırasına göre sıralanmış listesidir. Yalnızca bu listede yer alan türdeki sertifikalar alınır. Ancak
certificateTypesboş liste ise herhangi bir türdeki sertifikalar döndürülür.
ClientCertificateType
Enum
"rsaSign"
"ecdsaSign"
Match
Özellikler
-
sertifika
ArrayBuffer
X.509 sertifikasının DER kodlaması.
-
keyAlgorithm
nesne
Sertifikalı anahtarın KeyAlgorithm'u. Bu, sertifikanın anahtarına özgü algoritma parametrelerini (ör. anahtar uzunluğu) içerir. İmza işlevi tarafından kullanılan karma işlevi gibi diğer parametreler dahil edilmez.
SelectDetails
Özellikler
-
clientCerts
ArrayBuffer[] isteğe bağlı
Verildiyse
selectClientCertificatesbu listede çalışır. Aksi takdirde, bu uzantıların kullanabileceği tüm sertifikaların listesini platformun sertifika depolarından alır. Uzantının izni olmayan veya istekle eşleşmeyen girişler kaldırılır. -
etkileşimli
boole
Doğruysa filtrelenmiş liste kullanıcıya sunulur. Kullanıcı, sertifikayı manuel olarak seçer ve böylece uzantıya sertifikalara ve anahtarlara erişim izni verilir. Yalnızca seçilen sertifikalar döndürülür. Yanlışsa liste, uzantının erişim izni aldığı (otomatik olarak veya manuel olarak) tüm sertifikelerle sınırlandırılır.
-
istek
Yalnızca bu istekle eşleşen sertifikalar döndürülür.
VerificationDetails
Özellikler
-
ana makine adı
dize
Sertifikanın doğrulanacağı sunucunun ana makine adı (ör.
serverCertificateChainsertifikasını sunan sunucu). -
serverCertificateChain
ArrayBuffer[]
Her zincir girişi, bir X.509 sertifikasının DER kodlaması olmalıdır. İlk giriş, sunucu sertifikası olmalı ve her giriş, kendisinden önceki girişi onaylamalıdır.
VerificationResult
Özellikler
-
debug_errors
string[]
Güven doğrulama başarısız olursa bu dizi, temel ağ katmanı tarafından bildirilen hataları içerir. Aksi takdirde bu dizi boştur.
Not: Bu liste yalnızca hata ayıklama amaçlıdır ve ilgili tüm hataları içermeyebilir. Döndürülen hatalar bu API'nin gelecekteki düzeltmelerinde değişebilir ve ileriye veya geriye dönük uyumlu olması garanti edilmez.
-
güvenilir
boole
Güven doğrulamasının sonucu: Belirli doğrulama ayrıntıları için güven oluşturulabiliyorsa doğru, herhangi bir nedenle güven reddedilirse yanlış.
Yöntemler
getKeyPair()
chrome.platformKeys.getKeyPair(
certificate: ArrayBuffer,
parameters: object,
callback: function,
): void
platformKeys.subtleCrypto ile kullanılmak üzere certificate anahtar çiftini callback'e iletir.
Parametreler
-
sertifika
ArrayBuffer
selectClientCertificatestarafından döndürülenMatchsertifikası. -
parametreler
nesne
Anahtarın kendisi tarafından sabitlenen parametrelere ek olarak imza/karma algoritması parametrelerini belirler. WebCrypto'nun importKey işleviyle aynı parametreler kabul edilir. Örneğin, RSASSA-PKCS1-v1_5 anahtarı için
RsaHashedImportParams, EC anahtarı içinEcKeyImportParams. Ayrıca, RSASSA-PKCS1-v1_5 anahtarları için karma oluşturma algoritması adı parametresi şu değerlerden biriyle belirtilebilir: "none", "SHA-1", "SHA-256", "SHA-384" veya "SHA-512" (ör.{"hash": { "name": "none" } }). İmzalama işlevi daha sonra PKCS#1 v1.5 dolgusunu uygular ancak verilen verileri karma oluşturmaz.Bu yöntem şu anda yalnızca "RSASSA-PKCS1-v1_5" ve "ECDSA" algoritmalarını desteklemektedir.
-
callback
işlev
callbackparametresi şu şekilde görünür:(publicKey: object, privateKey?: object) => void
-
publicKey
nesne
-
privateKey
object isteğe bağlı
Bu uzantının erişimi yoksa
nullolabilir.
-
getKeyPairBySpki()
chrome.platformKeys.getKeyPairBySpki(
publicKeySpkiDer: ArrayBuffer,
parameters: object,
callback: function,
): void
publicKeySpkiDer ile tanımlanan anahtar çiftini, platformKeys.subtleCrypto ile kullanılmak üzere callback'ye iletir.
Parametreler
-
publicKeySpkiDer
ArrayBuffer
Örneğin, WebCrypto'nun exportKey işlevi format="spki" ile çağrılarak elde edilen, DER kodlu bir X.509 SubjectPublicKeyInfo.
-
parametreler
nesne
Anahtarın kendisi tarafından sabitlenenlere ek olarak imza ve karma algoritması parametreleri sağlar. WebCrypto'nun importKey işleviyle aynı parametreler kabul edilir. Örneğin, RSASSA-PKCS1-v1_5 anahtarı için
RsaHashedImportParams. RSASSA-PKCS1-v1_5 anahtarları için{ "hash": { "name": string } }"karma" parametresini de iletmemiz gerekir. "Karma" parametresi, imza öncesinde özet işleminde kullanılacak karma algoritmasının adını temsil eder. Karma adı olarak "none" iletilebilir. Bu durumda, imza işlevi PKCS#1 v1.5 dolgusu uygular ancak verilen veriye karma oluşturmaz.Bu yöntem şu anda, adlandırılmış eğri P-256 ile "ECDSA" algoritmasını ve karma oluşturma algoritmalarından biri olan "none", "SHA-1", "SHA-256", "SHA-384" ve "SHA-512" ile "RSASSA-PKCS1-v1_5" algoritmasını desteklemektedir.
-
callback
işlev
callbackparametresi şu şekilde görünür:(publicKey: object, privateKey?: object) => void
-
publicKey
nesne
-
privateKey
object isteğe bağlı
Bu uzantının erişimi yoksa
nullolabilir.
-
selectClientCertificates()
chrome.platformKeys.selectClientCertificates(
details: SelectDetails,
callback?: function,
): Promise<Match[]>
Bu yöntem, platform tarafından bilinen, request ile eşleşen ve uzantının sertifikaya ve özel anahtarına erişme izni olan istemci sertifikalarını bir listeden filtreler. interactive doğruysa kullanıcıya, eşleşen sertifikalar arasından seçim yapabileceği ve uzantıya sertifikaya erişim izni verebileceği bir iletişim kutusu gösterilir. Seçilen/filtrelenen istemci sertifikaları callback'ya iletilir.
Parametreler
İadeler
-
Promise<Match[]>
Chrome 121 ve sonraki sürümlerPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
subtleCrypto()
chrome.platformKeys.subtleCrypto(): object | undefined
Bu uzantının kullanabildiği istemci sertifikalarının anahtarlarında kripto işlemleri yapılmasına olanak tanıyan WebCrypto'nun SubtleCrypto uygulaması.
İadeler
-
object | undefined
verifyTLSServerCertificate()
chrome.platformKeys.verifyTLSServerCertificate(
details: VerificationDetails,
callback?: function,
): Promise<VerificationResult>
Platformun güven ayarlarına göre details.serverCertificateChain öğesinin details.hostname için güvenilir olup olmadığını kontrol eder. Not: Güven doğrulamasının gerçek davranışı tam olarak belirtilmemiştir ve gelecekte değişebilir. API uygulaması, sertifikanın geçerlilik bitiş tarihini doğrular, sertifika yolunu onaylar ve bilinen bir CA tarafından güveni kontrol eder. Uygulama, EKU serverAuth'a uymalı ve konu alternatif adlarını desteklemelidir.
Parametreler
-
ayrıntılar
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(result: VerificationResult) => void
-
sonuç
-
İadeler
-
Promise<VerificationResult>
Chrome 121 ve sonraki sürümlerPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.