refresh date: 2026-09-25 robots: noindex
Açıklama
Bu anahtarlar için anahtar oluşturmak ve sertifika yüklemek üzere chrome.enterprise.platformKeys API'sini kullanın. Sertifikalar platform tarafından yönetilir ve TLS kimlik doğrulaması, ağ erişimi veya chrome.platformKeys aracılığıyla diğer uzantılar için kullanılabilir.
İzinler
enterprise.platformKeysKullanılabilirlik
Kullanım
İstemci sertifikası kaydetmek için bu API'nin tipik kullanımı aşağıdaki adımları içerir:
enterprise.platformKeys.getTokens kullanarak kullanılabilen tüm jetonları alın.
iddeğerinin"user"olduğu jetonu bulun. Bu jetonu daha sonra kullanın.generateKeyJeton yöntemini (SubtleCrypto'da tanımlanır) kullanarak bir anahtar çifti oluşturun. Bu işlem, kolu anahtara geri döndürür.exportKeyJeton yöntemini (SubtleCrypto'da tanımlanır) kullanarak ortak anahtarı dışa aktarın.signToken yöntemi (SubtleCrypto'da tanımlanmıştır) kullanarak sertifika isteğinin verilerinin imzasını oluşturun.Sertifika isteğini tamamlayıp sertifika yetkilisine gönderin.
Sertifika alındıysa enterprise.platformKeys.importCertificate kullanarak içe aktarın.
Sertifika isteğinin oluşturulması ve gönderilmesi dışında, önemli API etkileşimini gösteren bir örneği aşağıda bulabilirsiniz:
function getUserToken(callback) {
chrome.enterprise.platformKeys.getTokens(function(tokens) {
for (var i = 0; i < tokens.length; i++) {
if (tokens[i].id == "user") {
callback(tokens[i]);
return;
}
}
callback(undefined);
});
}
function generateAndSign(userToken) {
var data = new Uint8Array([0, 5, 1, 2, 3, 4, 5, 6]);
var algorithm = {
name: "RSASSA-PKCS1-v1_5",
// RsaHashedKeyGenParams
modulusLength: 2048,
publicExponent:
new Uint8Array([0x01, 0x00, 0x01]), // Equivalent to 65537
hash: {
name: "SHA-256",
}
};
var cachedKeyPair;
userToken.subtleCrypto.generateKey(algorithm, false, ["sign"])
.then(function(keyPair) {
cachedKeyPair = keyPair;
return userToken.subtleCrypto.exportKey("spki", keyPair.publicKey);
},
console.log.bind(console))
.then(function(publicKeySpki) {
// Build the Certification Request using the public key.
return userToken.subtleCrypto.sign(
{name : "RSASSA-PKCS1-v1_5"}, cachedKeyPair.privateKey, data);
},
console.log.bind(console))
.then(function(signature) {
// Complete the Certification Request with |signature|.
// Send out the request to the CA, calling back
// onClientCertificateReceived.
},
console.log.bind(console));
}
function onClientCertificateReceived(userToken, certificate) {
chrome.enterprise.platformKeys.importCertificate(userToken.id, certificate);
}
getUserToken(generateAndSign);
Türler
Algorithm
Oluşturulacak anahtar türü.
Enum
"RSA"
"ECDSA"
ChallengeKeyOptions
Özellikler
-
meydan okuma
ArrayBuffer
Doğrulanmış Erişim Web API'si tarafından verilen bir sorgu.
-
registerKey
RegisterKeyOptions isteğe bağlı
Varsa sorgulanan anahtarı belirtilen
scopeile kaydeder. Ardından anahtar, bir sertifikayla ilişkilendirilebilir ve diğer imzalama anahtarları gibi kullanılabilir. Bu işlevin sonraki çağrıları, belirtilenscopeiçinde yeni bir kurumsal anahtar oluşturur. -
kapsam
Hangi Enterprise anahtarının sorgulanacağı.
RegisterKeyOptions
Özellikler
-
algoritma
Kayıtlı anahtarın hangi algoritmayı kullanması gerektiği.
Scope
Enterprise User Key veya Enterprise Machine Key'in kullanılıp kullanılmayacağı.
Enum
"USER"
"MACHINE"
Token
Özellikler
-
id
dize
Bu
Tokenöğesini benzersiz şekilde tanımlar.Statik kimlikler, sırasıyla platformun kullanıcıya özel ve sisteme genel donanım jetonunu ifade eden
"user"ve"system"'dir. Diğer tanımlayıcılarla birlikte diğer tüm jetonlarenterprise.platformKeys.getTokenstarafından döndürülebilir. -
softwareBackedSubtleCrypto
SubtleCrypto
Chrome 97 ve sonraki sürümlerWebCrypto'nun SubtleCrypto arayüzünü uygular. Anahtar oluşturma dahil olmak üzere kriptografik işlemler yazılımla desteklenir. Anahtarların korunması ve dolayısıyla çıkarılamaz özelliğinin uygulanması yazılımda yapılır. Bu nedenle, anahtarlar donanım destekli anahtarlara kıyasla daha az korunur.
Yalnızca çıkarılamayan anahtarlar oluşturulabilir. Yalnızca 2048'e kadar
modulusLengthile RSASSA-PKCS1-V1_5 anahtar türü desteklenir. Her anahtar, KeyPermissions politikası aracılığıyla uzantı izin verilenler listesine eklenmediği sürece verileri imzalamak için en fazla bir kez kullanılabilir. Bu durumda anahtar süresiz olarak kullanılabilir.Belirli bir
Tokenüzerinde oluşturulan anahtarlar başka jetonlarla veyawindow.crypto.subtleile kullanılamaz. Aynı şekilde,Keyile oluşturulanwindow.crypto.subtlenesneleri bu arayüzle kullanılamaz. -
subtleCrypto
SubtleCrypto
WebCrypto'nun SubtleCrypto arayüzünü uygular. Anahtar oluşturma da dahil olmak üzere kriptografik işlemler donanım tabanlıdır.
Yalnızca çıkarılamayan anahtarlar oluşturulabilir. Desteklenen anahtar türleri,
modulusLength2048'e kadar olan RSASSA-PKCS1-V1_5 venamedCurveP-256 ile ECDSA'dır. Her anahtar, KeyPermissions politikası tarafından izin verilenler listesine eklenmediği sürece verileri imzalamak için en fazla bir kez kullanılabilir. Bu durumda anahtar süresiz olarak kullanılabilir.Belirli bir
Tokenüzerinde oluşturulan anahtarlar başka jetonlarla veyawindow.crypto.subtleile kullanılamaz. Aynı şekilde,Keyile oluşturulanwindow.crypto.subtlenesneleri bu arayüzle kullanılamaz.
Yöntemler
challengeKey()
chrome.enterprise.platformKeys.challengeKey(
options: ChallengeKeyOptions,
callback?: function,
): Promise<ArrayBuffer>
challengeMachineKey ve challengeUserKey özelliklerine benzer ancak kayıtlı bir anahtarın algoritmasını belirtmeye olanak tanır. Donanım tabanlı bir Enterprise Machine Key'e meydan okur ve yanıtı uzaktan doğrulama protokolünün bir parçası olarak yayınlar. Yalnızca ChromeOS'te ve hem sorgu gönderen hem de yanıtları doğrulayan Verified Access Web API ile birlikte kullanıldığında yararlıdır.
Doğrulanmış Erişim Web API'si tarafından yapılan başarılı bir doğrulama, mevcut cihazın meşru bir ChromeOS cihaz olduğu, mevcut cihazın doğrulama sırasında belirtilen alan tarafından yönetildiği, mevcut oturum açmış kullanıcının doğrulama sırasında belirtilen alan tarafından yönetildiği ve mevcut cihaz durumunun kurumsal cihaz politikasına uygun olduğu konusunda güçlü bir sinyaldir. Örneğin, bir politika cihazın geliştirici modunda olmaması gerektiğini belirtebilir. Doğrulama tarafından verilen tüm cihaz kimlikleri, mevcut cihazın donanımına sıkı bir şekilde bağlıdır. "user" Kapsam belirtilmişse kimlik, oturum açmış durumdaki kullanıcıya da sıkı bir şekilde bağlıdır.
Bu işlev oldukça kısıtlıdır ve mevcut cihaz yönetilmiyorsa, mevcut kullanıcı yönetilmiyorsa veya bu işlem, kurumsal cihaz politikası tarafından arayan için açıkça etkinleştirilmemişse başarısız olur. Sorgulanan anahtar, "system" veya "user" jetonunda bulunmuyor ve başka bir API tarafından erişilemiyor.
Parametreler
-
seçenekler
ChallengeKeyOptionsiçinde tanımlanan alanları içeren nesne. -
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(response: ArrayBuffer) => void
-
gönderin
ArrayBuffer
Sorgulama yanıtı.
-
İadeler
-
Promise<ArrayBuffer>
Chrome 131 veya daha yeni bir sürümSorgulama yanıtıyla çözümlenen bir Promise döndürür.
Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
challengeMachineKey()
chrome.enterprise.platformKeys.challengeMachineKey(
challenge: ArrayBuffer,
registerKey?: boolean,
callback?: function,
): Promise<ArrayBuffer>
Bunun yerine challengeKey kullanın.
Donanım tabanlı bir kurumsal makine anahtarına meydan okur ve yanıtı uzaktan doğrulama protokolünün bir parçası olarak verir. Yalnızca ChromeOS'te ve hem sorgu gönderen hem de yanıtları doğrulayan Verified Access Web API ile birlikte kullanıldığında yararlıdır. Doğrulanmış Erişim Web API'si tarafından yapılan başarılı bir doğrulama, aşağıdakilerin tümü için güçlü bir sinyaldir: * Mevcut cihaz, yasal bir ChromeOS cihazdır. * Mevcut cihaz, doğrulama sırasında belirtilen alan tarafından yönetiliyor olmalıdır. * Oturum açmış durumdaki kullanıcı, doğrulama sırasında belirtilen alan tarafından yönetiliyor olmalıdır. * Mevcut cihaz durumu, kurumsal cihaz politikasına uygundur. Örneğin, bir politika cihazın geliştirici modunda olmaması gerektiğini belirtebilir. * Doğrulama tarafından verilen tüm cihaz kimlikleri, mevcut cihazın donanımına sıkı bir şekilde bağlıdır. Bu işlev oldukça kısıtlıdır ve mevcut cihaz yönetilmiyorsa, mevcut kullanıcı yönetilmiyorsa veya bu işlem, kurumsal cihaz politikası tarafından arayan için açıkça etkinleştirilmemişse başarısız olur. Enterprise Machine Key, "system" jetonunda bulunmaz ve başka hiçbir API tarafından erişilemez.
Parametreler
-
meydan okuma
ArrayBuffer
Doğrulanmış Erişim Web API'si tarafından verilen bir sorgu.
-
registerKey
boolean isteğe bağlı
Chrome 59 ve sonraki sürümlerAyarlanırsa mevcut kurumsal makine anahtarı,
"system"jetonuyla kaydedilir ve kurumsal makine anahtarı rolünü bırakır. Ardından anahtar, bir sertifikayla ilişkilendirilebilir ve diğer imzalama anahtarları gibi kullanılabilir. Bu anahtar 2048 bit RSA'dır. Bu işlevin sonraki çağrıları yeni bir Enterprise Machine Key oluşturur. -
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(response: ArrayBuffer) => void
-
gönderin
ArrayBuffer
Sorgulama yanıtı.
-
İadeler
-
Promise<ArrayBuffer>
Chrome 131 veya daha yeni bir sürümSorgulama yanıtıyla çözümlenen bir Promise döndürür.
Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
challengeUserKey()
chrome.enterprise.platformKeys.challengeUserKey(
challenge: ArrayBuffer,
registerKey: boolean,
callback?: function,
): Promise<ArrayBuffer>
Bunun yerine challengeKey kullanın.
Donanım tabanlı kurumsal kullanıcı anahtarına meydan okur ve yanıtı uzaktan doğrulama protokolünün bir parçası olarak yayınlar. Yalnızca ChromeOS'te ve hem sorgu gönderen hem de yanıtları doğrulayan Verified Access Web API ile birlikte kullanıldığında yararlıdır. Doğrulanmış Erişim Web API'si tarafından yapılan başarılı bir doğrulama, aşağıdakilerin tümü için güçlü bir sinyaldir: * Mevcut cihaz, yasal bir ChromeOS cihazdır. * Mevcut cihaz, doğrulama sırasında belirtilen alan tarafından yönetiliyor olmalıdır. * Oturum açmış durumdaki kullanıcı, doğrulama sırasında belirtilen alan tarafından yönetiliyor olmalıdır. * Mevcut cihaz durumu, kurumsal kullanıcı politikasına uygundur. Örneğin, bir politika cihazın geliştirici modunda olmaması gerektiğini belirtebilir. * Doğrulama tarafından verilen ortak anahtar, mevcut cihazın donanımına ve mevcut oturum açmış kullanıcıya sıkı bir şekilde bağlıdır. Bu işlev oldukça kısıtlıdır ve mevcut cihaz yönetilmiyorsa, mevcut kullanıcı yönetilmiyorsa veya bu işlem, kurumsal kullanıcı politikası tarafından arayan için açıkça etkinleştirilmemişse başarısız olur. Kurumsal kullanıcı anahtarı, "user" jetonunda bulunmaz ve başka bir API tarafından erişilemez.
Parametreler
-
meydan okuma
ArrayBuffer
Doğrulanmış Erişim Web API'si tarafından verilen bir sorgu.
-
registerKey
boole
Ayarlanırsa mevcut kurumsal kullanıcı anahtarı,
"user"jetonuyla kaydedilir ve kurumsal kullanıcı anahtarı rolünü bırakır. Ardından anahtar, bir sertifikayla ilişkilendirilebilir ve diğer imzalama anahtarları gibi kullanılabilir. Bu anahtar 2048 bit RSA'dır. Bu işlevin sonraki çağrıları yeni bir kurumsal kullanıcı anahtarı oluşturur. -
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(response: ArrayBuffer) => void
-
gönderin
ArrayBuffer
Sorgulama yanıtı.
-
İadeler
-
Promise<ArrayBuffer>
Chrome 131 veya daha yeni bir sürümSorgulama yanıtıyla çözümlenen bir Promise döndürür.
Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getCertificates()
chrome.enterprise.platformKeys.getCertificates(
tokenId: string,
callback?: function,
): Promise<ArrayBuffer[]>
Belirtilen jetondan kullanılabilen tüm istemci sertifikalarının listesini döndürür. Belirli bir kimlik doğrulama için kullanılabilir olan istemci sertifikalarının varlığını ve geçerlilik bitimini kontrol etmek için kullanılabilir.
Parametreler
-
tokenId
dize
getTokenstarafından döndürülen bir jetonun kimliği. -
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:(certificates: ArrayBuffer[]) => void
-
certificates
ArrayBuffer[]
Her biri X.509 sertifikasının DER kodlamasında olan sertifikaların listesi.
-
İadeler
-
Promise<ArrayBuffer[]>
Chrome 131 veya daha yeni bir sürümKullanılabilir sertifikaların listesiyle çözümlenen bir Promise döndürür.
Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getTokens()
chrome.enterprise.platformKeys.getTokens(
callback?: function,
): Promise<Token[]>
Kullanılabilir jetonları döndürür. Normal bir kullanıcının oturumunda listede her zaman id "user" ile kullanıcının jetonu yer alır. Sistem genelinde bir TPM jetonu varsa döndürülen listede id "system" ile sistem genelinde jeton da yer alır. Sistem genelindeki jeton, bu cihazdaki (ör. Chromebook anlamında cihaz) tüm oturumlar için aynı olur.
Parametreler
İadeler
-
Promise<Token[]>
Chrome 131 veya daha yeni bir sürümKullanılabilir jetonların listesiyle birlikte
getTokenstarafından çağrılır.Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
importCertificate()
chrome.enterprise.platformKeys.importCertificate(
tokenId: string,
certificate: ArrayBuffer,
callback?: function,
): Promise<void>
Sertifikalı anahtar bu jetonda zaten depolanmışsa belirtilen jetona certificate aktarılır. Başarılı bir sertifika isteğinden sonra, bu işlev elde edilen sertifikayı saklamak ve kimlik doğrulama için işletim sistemine ve tarayıcıya sunmak üzere kullanılmalıdır.
Parametreler
-
tokenId
dize
getTokenstarafından döndürülen bir jetonun kimliği. -
sertifika
ArrayBuffer
X.509 sertifikasının DER kodlaması.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 131 veya daha yeni bir sürümBu işlem tamamlandığında çözümlenen bir Promise döndürür.
Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
removeCertificate()
chrome.enterprise.platformKeys.removeCertificate(
tokenId: string,
certificate: ArrayBuffer,
callback?: function,
): Promise<void>
Varsa belirtilen jetondan certificate kaldırılır. Kimlik doğrulama sırasında dikkate alınmamaları ve sertifika seçimini karıştırmamaları için eski sertifikaları kaldırmak üzere kullanılmalıdır. Sertifika deposundaki depolama alanını boşaltmak için kullanılmalıdır.
Parametreler
-
tokenId
dize
getTokenstarafından döndürülen bir jetonun kimliği. -
sertifika
ArrayBuffer
X.509 sertifikasının DER kodlaması.
-
callback
işlev isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 131 veya daha yeni bir sürümBu işlem tamamlandığında çözümlenen bir Promise döndürür.
Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.