chrome-types 0.1.308 → 0.1.309

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/_all.d.ts +100 -22
  2. package/index.d.ts +100 -22
  3. package/package.json +2 -2
package/_all.d.ts CHANGED
@@ -14,8 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- // Generated on Wed Oct 09 2024 22:32:54 GMT+0000 (Coordinated Universal Time)
18
- // Built at 94146150ffb1973bcce4724cc04f764871c8094c
17
+ // Generated on Mon Oct 14 2024 22:32:16 GMT+0000 (Coordinated Universal Time)
18
+ // Built at f0afe5b5fcd80b796176cb18c9c4d038ab4e6a48
19
19
 
20
20
  // Includes all types, including MV2 + Platform Apps APIs.
21
21
 
@@ -12325,6 +12325,13 @@ declare namespace chrome {
12325
12325
  scope: Scope;
12326
12326
  }
12327
12327
 
12328
+ /**
12329
+ * Returns the available Tokens. In a regular user's session the list will always contain the user's token with `id` `"user"`. If a system-wide TPM token is available, the returned list will also contain the system-wide token with `id` `"system"`. The system-wide token will be the same for all sessions on this device (device in the sense of e.g. a Chromebook).
12330
+ *
12331
+ * @chrome-returns-extra since Pending
12332
+ */
12333
+ export function getTokens(): Promise<Token[]>;
12334
+
12328
12335
  /**
12329
12336
  * Returns the available Tokens. In a regular user's session the list will always contain the user's token with `id` `"user"`. If a system-wide TPM token is available, the returned list will also contain the system-wide token with `id` `"system"`. The system-wide token will be the same for all sessions on this device (device in the sense of e.g. a Chromebook).
12330
12337
  *
@@ -12335,11 +12342,22 @@ declare namespace chrome {
12335
12342
  /**
12336
12343
  * @param tokens The list of available tokens.
12337
12344
  */
12338
- callback: (
12345
+ callback?: (
12339
12346
  tokens: Token[],
12340
12347
  ) => void,
12341
12348
  ): void;
12342
12349
 
12350
+ /**
12351
+ * Returns the list of all client certificates available from the given token. Can be used to check for the existence and expiration of client certificates that are usable for a certain authentication.
12352
+ *
12353
+ * @chrome-returns-extra since Pending
12354
+ * @param tokenId The id of a Token returned by `getTokens`.
12355
+ */
12356
+ export function getCertificates(
12357
+
12358
+ tokenId: string,
12359
+ ): Promise<ArrayBuffer[]>;
12360
+
12343
12361
  /**
12344
12362
  * Returns the list of all client certificates available from the given token. Can be used to check for the existence and expiration of client certificates that are usable for a certain authentication.
12345
12363
  *
@@ -12353,11 +12371,25 @@ declare namespace chrome {
12353
12371
  /**
12354
12372
  * @param certificates The list of certificates, each in DER encoding of a X.509 certificate.
12355
12373
  */
12356
- callback: (
12374
+ callback?: (
12357
12375
  certificates: ArrayBuffer[],
12358
12376
  ) => void,
12359
12377
  ): void;
12360
12378
 
12379
+ /**
12380
+ * Imports `certificate` to the given token if the certified key is already stored in this token. After a successful certification request, this function should be used to store the obtained certificate and to make it available to the operating system and browser for authentication.
12381
+ *
12382
+ * @chrome-returns-extra since Pending
12383
+ * @param tokenId The id of a Token returned by `getTokens`.
12384
+ * @param certificate The DER encoding of a X.509 certificate.
12385
+ */
12386
+ export function importCertificate(
12387
+
12388
+ tokenId: string,
12389
+
12390
+ certificate: ArrayBuffer,
12391
+ ): Promise<void>;
12392
+
12361
12393
  /**
12362
12394
  * Imports `certificate` to the given token if the certified key is already stored in this token. After a successful certification request, this function should be used to store the obtained certificate and to make it available to the operating system and browser for authentication.
12363
12395
  *
@@ -12374,6 +12406,20 @@ declare namespace chrome {
12374
12406
  callback?: () => void,
12375
12407
  ): void;
12376
12408
 
12409
+ /**
12410
+ * Removes `certificate` from the given token if present. Should be used to remove obsolete certificates so that they are not considered during authentication and do not clutter the certificate choice. Should be used to free storage in the certificate store.
12411
+ *
12412
+ * @chrome-returns-extra since Pending
12413
+ * @param tokenId The id of a Token returned by `getTokens`.
12414
+ * @param certificate The DER encoding of a X.509 certificate.
12415
+ */
12416
+ export function removeCertificate(
12417
+
12418
+ tokenId: string,
12419
+
12420
+ certificate: ArrayBuffer,
12421
+ ): Promise<void>;
12422
+
12377
12423
  /**
12378
12424
  * Removes `certificate` from the given token if present. Should be used to remove obsolete certificates so that they are not considered during authentication and do not clutter the certificate choice. Should be used to free storage in the certificate store.
12379
12425
  *
@@ -12391,9 +12437,25 @@ declare namespace chrome {
12391
12437
  ): void;
12392
12438
 
12393
12439
  /**
12394
- * Similar to `challengeMachineKey` and `challengeUserKey`, but allows specifying the algorithm of a registered key. Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on Chrome OS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses.
12440
+ * Similar to `challengeMachineKey` and `challengeUserKey`, but allows specifying the algorithm of a registered key. Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses.
12441
+ *
12442
+ * A successful verification by the Verified Access Web API is a strong signal that the current device is a legitimate ChromeOS device, the current device is managed by the domain specified during verification, the current signed-in user is managed by the domain specified during verification, and the current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. Any device identity emitted by the verification is tightly bound to the hardware of the current device. If `"user"` Scope is specified, the identity is also tightly bound to the current signed-in user.
12443
+ *
12444
+ * This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The challenged key does not reside in the `"system"` or `"user"` token and is not accessible by any other API.
12445
+ *
12446
+ * @chrome-returns-extra since Pending
12447
+ * @param options Object containing the fields defined in {@link ChallengeKeyOptions}.
12448
+ * @since Chrome 110
12449
+ */
12450
+ export function challengeKey(
12451
+
12452
+ options: ChallengeKeyOptions,
12453
+ ): Promise<ArrayBuffer>;
12454
+
12455
+ /**
12456
+ * Similar to `challengeMachineKey` and `challengeUserKey`, but allows specifying the algorithm of a registered key. Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses.
12395
12457
  *
12396
- * A successful verification by the Verified Access Web API is a strong signal that the current device is a legitimate Chrome OS device, the current device is managed by the domain specified during verification, the current signed-in user is managed by the domain specified during verification, and the current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. Any device identity emitted by the verification is tightly bound to the hardware of the current device. If `"user"` Scope is specified, the identity is also tighly bound to the current signed-in user.
12458
+ * A successful verification by the Verified Access Web API is a strong signal that the current device is a legitimate ChromeOS device, the current device is managed by the domain specified during verification, the current signed-in user is managed by the domain specified during verification, and the current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. Any device identity emitted by the verification is tightly bound to the hardware of the current device. If `"user"` Scope is specified, the identity is also tightly bound to the current signed-in user.
12397
12459
  *
12398
12460
  * This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The challenged key does not reside in the `"system"` or `"user"` token and is not accessible by any other API.
12399
12461
  *
@@ -12408,17 +12470,17 @@ declare namespace chrome {
12408
12470
  /**
12409
12471
  * @param response The challenge response.
12410
12472
  */
12411
- callback: (
12473
+ callback?: (
12412
12474
  response: ArrayBuffer,
12413
12475
  ) => void,
12414
12476
  ): void;
12415
12477
 
12416
12478
  /**
12417
- * Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on Chrome OS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate Chrome OS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. \* Any device identity emitted by the verification is tightly bound to the hardware of the current device. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The Enterprise Machine Key does not reside in the `"system"` token and is not accessible by any other API.
12479
+ * Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate ChromeOS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. \* Any device identity emitted by the verification is tightly bound to the hardware of the current device. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The Enterprise Machine Key does not reside in the `"system"` token and is not accessible by any other API.
12418
12480
  *
12481
+ * @chrome-returns-extra since Pending
12419
12482
  * @param challenge A challenge as emitted by the Verified Access Web API.
12420
12483
  * @param registerKey If set, the current Enterprise Machine Key is registered with the `"system"` token and relinquishes the Enterprise Machine Key role. The key can then be associated with a certificate and used like any other signing key. This key is 2048-bit RSA. Subsequent calls to this function will then generate a new Enterprise Machine Key.
12421
- * @param callback Called back with the challenge response.
12422
12484
  * @deprecated Use {@link challengeKey} instead.
12423
12485
  * @since Chrome 50
12424
12486
  * @chrome-deprecated-since Chrome 110
@@ -12430,20 +12492,14 @@ declare namespace chrome {
12430
12492
  /**
12431
12493
  * @since Chrome 59
12432
12494
  */
12433
- registerKey: boolean,
12434
-
12435
- /**
12436
- * @param response The challenge response.
12437
- */
12438
- callback: (
12439
- response: ArrayBuffer,
12440
- ) => void,
12441
- ): void;
12495
+ registerKey?: boolean,
12496
+ ): Promise<ArrayBuffer>;
12442
12497
 
12443
12498
  /**
12444
- * Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on Chrome OS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate Chrome OS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. \* Any device identity emitted by the verification is tightly bound to the hardware of the current device. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The Enterprise Machine Key does not reside in the `"system"` token and is not accessible by any other API.
12499
+ * Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate ChromeOS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. \* Any device identity emitted by the verification is tightly bound to the hardware of the current device. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The Enterprise Machine Key does not reside in the `"system"` token and is not accessible by any other API.
12445
12500
  *
12446
12501
  * @param challenge A challenge as emitted by the Verified Access Web API.
12502
+ * @param registerKey If set, the current Enterprise Machine Key is registered with the `"system"` token and relinquishes the Enterprise Machine Key role. The key can then be associated with a certificate and used like any other signing key. This key is 2048-bit RSA. Subsequent calls to this function will then generate a new Enterprise Machine Key.
12447
12503
  * @param callback Called back with the challenge response.
12448
12504
  * @deprecated Use {@link challengeKey} instead.
12449
12505
  * @since Chrome 50
@@ -12453,16 +12509,38 @@ declare namespace chrome {
12453
12509
 
12454
12510
  challenge: ArrayBuffer,
12455
12511
 
12512
+ /**
12513
+ * @since Chrome 59
12514
+ */
12515
+ registerKey?: boolean,
12516
+
12456
12517
  /**
12457
12518
  * @param response The challenge response.
12458
12519
  */
12459
- callback: (
12520
+ callback?: (
12460
12521
  response: ArrayBuffer,
12461
12522
  ) => void,
12462
12523
  ): void;
12463
12524
 
12464
12525
  /**
12465
- * Challenges a hardware-backed Enterprise User Key and emits the response as part of a remote attestation protocol. Only useful on Chrome OS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate Chrome OS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise user policy. For example, a policy may specify that the device must not be in developer mode. \* The public key emitted by the verification is tightly bound to the hardware of the current device and to the current signed-in user. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise user policy. The Enterprise User Key does not reside in the `"user"` token and is not accessible by any other API.
12526
+ * Challenges a hardware-backed Enterprise User Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate ChromeOS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise user policy. For example, a policy may specify that the device must not be in developer mode. \* The public key emitted by the verification is tightly bound to the hardware of the current device and to the current signed-in user. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise user policy. The Enterprise User Key does not reside in the `"user"` token and is not accessible by any other API.
12527
+ *
12528
+ * @chrome-returns-extra since Pending
12529
+ * @param challenge A challenge as emitted by the Verified Access Web API.
12530
+ * @param registerKey If set, the current Enterprise User Key is registered with the `"user"` token and relinquishes the Enterprise User Key role. The key can then be associated with a certificate and used like any other signing key. This key is 2048-bit RSA. Subsequent calls to this function will then generate a new Enterprise User Key.
12531
+ * @deprecated Use {@link challengeKey} instead.
12532
+ * @since Chrome 50
12533
+ * @chrome-deprecated-since Chrome 110
12534
+ */
12535
+ export function challengeUserKey(
12536
+
12537
+ challenge: ArrayBuffer,
12538
+
12539
+ registerKey: boolean,
12540
+ ): Promise<ArrayBuffer>;
12541
+
12542
+ /**
12543
+ * Challenges a hardware-backed Enterprise User Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate ChromeOS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise user policy. For example, a policy may specify that the device must not be in developer mode. \* The public key emitted by the verification is tightly bound to the hardware of the current device and to the current signed-in user. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise user policy. The Enterprise User Key does not reside in the `"user"` token and is not accessible by any other API.
12466
12544
  *
12467
12545
  * @param challenge A challenge as emitted by the Verified Access Web API.
12468
12546
  * @param registerKey If set, the current Enterprise User Key is registered with the `"user"` token and relinquishes the Enterprise User Key role. The key can then be associated with a certificate and used like any other signing key. This key is 2048-bit RSA. Subsequent calls to this function will then generate a new Enterprise User Key.
@@ -12480,7 +12558,7 @@ declare namespace chrome {
12480
12558
  /**
12481
12559
  * @param response The challenge response.
12482
12560
  */
12483
- callback: (
12561
+ callback?: (
12484
12562
  response: ArrayBuffer,
12485
12563
  ) => void,
12486
12564
  ): void;
package/index.d.ts CHANGED
@@ -14,8 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- // Generated on Wed Oct 09 2024 22:32:50 GMT+0000 (Coordinated Universal Time)
18
- // Built at 94146150ffb1973bcce4724cc04f764871c8094c
17
+ // Generated on Mon Oct 14 2024 22:32:11 GMT+0000 (Coordinated Universal Time)
18
+ // Built at f0afe5b5fcd80b796176cb18c9c4d038ab4e6a48
19
19
 
20
20
  // Includes MV3+ APIs only.
21
21
 
@@ -8455,6 +8455,13 @@ declare namespace chrome {
8455
8455
  scope: Scope;
8456
8456
  }
8457
8457
 
8458
+ /**
8459
+ * Returns the available Tokens. In a regular user's session the list will always contain the user's token with `id` `"user"`. If a system-wide TPM token is available, the returned list will also contain the system-wide token with `id` `"system"`. The system-wide token will be the same for all sessions on this device (device in the sense of e.g. a Chromebook).
8460
+ *
8461
+ * @chrome-returns-extra since Pending
8462
+ */
8463
+ export function getTokens(): Promise<Token[]>;
8464
+
8458
8465
  /**
8459
8466
  * Returns the available Tokens. In a regular user's session the list will always contain the user's token with `id` `"user"`. If a system-wide TPM token is available, the returned list will also contain the system-wide token with `id` `"system"`. The system-wide token will be the same for all sessions on this device (device in the sense of e.g. a Chromebook).
8460
8467
  *
@@ -8465,11 +8472,22 @@ declare namespace chrome {
8465
8472
  /**
8466
8473
  * @param tokens The list of available tokens.
8467
8474
  */
8468
- callback: (
8475
+ callback?: (
8469
8476
  tokens: Token[],
8470
8477
  ) => void,
8471
8478
  ): void;
8472
8479
 
8480
+ /**
8481
+ * Returns the list of all client certificates available from the given token. Can be used to check for the existence and expiration of client certificates that are usable for a certain authentication.
8482
+ *
8483
+ * @chrome-returns-extra since Pending
8484
+ * @param tokenId The id of a Token returned by `getTokens`.
8485
+ */
8486
+ export function getCertificates(
8487
+
8488
+ tokenId: string,
8489
+ ): Promise<ArrayBuffer[]>;
8490
+
8473
8491
  /**
8474
8492
  * Returns the list of all client certificates available from the given token. Can be used to check for the existence and expiration of client certificates that are usable for a certain authentication.
8475
8493
  *
@@ -8483,11 +8501,25 @@ declare namespace chrome {
8483
8501
  /**
8484
8502
  * @param certificates The list of certificates, each in DER encoding of a X.509 certificate.
8485
8503
  */
8486
- callback: (
8504
+ callback?: (
8487
8505
  certificates: ArrayBuffer[],
8488
8506
  ) => void,
8489
8507
  ): void;
8490
8508
 
8509
+ /**
8510
+ * Imports `certificate` to the given token if the certified key is already stored in this token. After a successful certification request, this function should be used to store the obtained certificate and to make it available to the operating system and browser for authentication.
8511
+ *
8512
+ * @chrome-returns-extra since Pending
8513
+ * @param tokenId The id of a Token returned by `getTokens`.
8514
+ * @param certificate The DER encoding of a X.509 certificate.
8515
+ */
8516
+ export function importCertificate(
8517
+
8518
+ tokenId: string,
8519
+
8520
+ certificate: ArrayBuffer,
8521
+ ): Promise<void>;
8522
+
8491
8523
  /**
8492
8524
  * Imports `certificate` to the given token if the certified key is already stored in this token. After a successful certification request, this function should be used to store the obtained certificate and to make it available to the operating system and browser for authentication.
8493
8525
  *
@@ -8504,6 +8536,20 @@ declare namespace chrome {
8504
8536
  callback?: () => void,
8505
8537
  ): void;
8506
8538
 
8539
+ /**
8540
+ * Removes `certificate` from the given token if present. Should be used to remove obsolete certificates so that they are not considered during authentication and do not clutter the certificate choice. Should be used to free storage in the certificate store.
8541
+ *
8542
+ * @chrome-returns-extra since Pending
8543
+ * @param tokenId The id of a Token returned by `getTokens`.
8544
+ * @param certificate The DER encoding of a X.509 certificate.
8545
+ */
8546
+ export function removeCertificate(
8547
+
8548
+ tokenId: string,
8549
+
8550
+ certificate: ArrayBuffer,
8551
+ ): Promise<void>;
8552
+
8507
8553
  /**
8508
8554
  * Removes `certificate` from the given token if present. Should be used to remove obsolete certificates so that they are not considered during authentication and do not clutter the certificate choice. Should be used to free storage in the certificate store.
8509
8555
  *
@@ -8521,9 +8567,25 @@ declare namespace chrome {
8521
8567
  ): void;
8522
8568
 
8523
8569
  /**
8524
- * Similar to `challengeMachineKey` and `challengeUserKey`, but allows specifying the algorithm of a registered key. Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on Chrome OS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses.
8570
+ * Similar to `challengeMachineKey` and `challengeUserKey`, but allows specifying the algorithm of a registered key. Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses.
8525
8571
  *
8526
- * A successful verification by the Verified Access Web API is a strong signal that the current device is a legitimate Chrome OS device, the current device is managed by the domain specified during verification, the current signed-in user is managed by the domain specified during verification, and the current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. Any device identity emitted by the verification is tightly bound to the hardware of the current device. If `"user"` Scope is specified, the identity is also tighly bound to the current signed-in user.
8572
+ * A successful verification by the Verified Access Web API is a strong signal that the current device is a legitimate ChromeOS device, the current device is managed by the domain specified during verification, the current signed-in user is managed by the domain specified during verification, and the current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. Any device identity emitted by the verification is tightly bound to the hardware of the current device. If `"user"` Scope is specified, the identity is also tightly bound to the current signed-in user.
8573
+ *
8574
+ * This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The challenged key does not reside in the `"system"` or `"user"` token and is not accessible by any other API.
8575
+ *
8576
+ * @chrome-returns-extra since Pending
8577
+ * @param options Object containing the fields defined in {@link ChallengeKeyOptions}.
8578
+ * @since Chrome 110
8579
+ */
8580
+ export function challengeKey(
8581
+
8582
+ options: ChallengeKeyOptions,
8583
+ ): Promise<ArrayBuffer>;
8584
+
8585
+ /**
8586
+ * Similar to `challengeMachineKey` and `challengeUserKey`, but allows specifying the algorithm of a registered key. Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses.
8587
+ *
8588
+ * A successful verification by the Verified Access Web API is a strong signal that the current device is a legitimate ChromeOS device, the current device is managed by the domain specified during verification, the current signed-in user is managed by the domain specified during verification, and the current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. Any device identity emitted by the verification is tightly bound to the hardware of the current device. If `"user"` Scope is specified, the identity is also tightly bound to the current signed-in user.
8527
8589
  *
8528
8590
  * This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The challenged key does not reside in the `"system"` or `"user"` token and is not accessible by any other API.
8529
8591
  *
@@ -8538,17 +8600,17 @@ declare namespace chrome {
8538
8600
  /**
8539
8601
  * @param response The challenge response.
8540
8602
  */
8541
- callback: (
8603
+ callback?: (
8542
8604
  response: ArrayBuffer,
8543
8605
  ) => void,
8544
8606
  ): void;
8545
8607
 
8546
8608
  /**
8547
- * Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on Chrome OS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate Chrome OS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. \* Any device identity emitted by the verification is tightly bound to the hardware of the current device. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The Enterprise Machine Key does not reside in the `"system"` token and is not accessible by any other API.
8609
+ * Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate ChromeOS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. \* Any device identity emitted by the verification is tightly bound to the hardware of the current device. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The Enterprise Machine Key does not reside in the `"system"` token and is not accessible by any other API.
8548
8610
  *
8611
+ * @chrome-returns-extra since Pending
8549
8612
  * @param challenge A challenge as emitted by the Verified Access Web API.
8550
8613
  * @param registerKey If set, the current Enterprise Machine Key is registered with the `"system"` token and relinquishes the Enterprise Machine Key role. The key can then be associated with a certificate and used like any other signing key. This key is 2048-bit RSA. Subsequent calls to this function will then generate a new Enterprise Machine Key.
8551
- * @param callback Called back with the challenge response.
8552
8614
  * @deprecated Use {@link challengeKey} instead.
8553
8615
  * @since Chrome 50
8554
8616
  * @chrome-deprecated-since Chrome 110
@@ -8560,20 +8622,14 @@ declare namespace chrome {
8560
8622
  /**
8561
8623
  * @since Chrome 59
8562
8624
  */
8563
- registerKey: boolean,
8564
-
8565
- /**
8566
- * @param response The challenge response.
8567
- */
8568
- callback: (
8569
- response: ArrayBuffer,
8570
- ) => void,
8571
- ): void;
8625
+ registerKey?: boolean,
8626
+ ): Promise<ArrayBuffer>;
8572
8627
 
8573
8628
  /**
8574
- * Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on Chrome OS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate Chrome OS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. \* Any device identity emitted by the verification is tightly bound to the hardware of the current device. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The Enterprise Machine Key does not reside in the `"system"` token and is not accessible by any other API.
8629
+ * Challenges a hardware-backed Enterprise Machine Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate ChromeOS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise device policy. For example, a policy may specify that the device must not be in developer mode. \* Any device identity emitted by the verification is tightly bound to the hardware of the current device. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise device policy. The Enterprise Machine Key does not reside in the `"system"` token and is not accessible by any other API.
8575
8630
  *
8576
8631
  * @param challenge A challenge as emitted by the Verified Access Web API.
8632
+ * @param registerKey If set, the current Enterprise Machine Key is registered with the `"system"` token and relinquishes the Enterprise Machine Key role. The key can then be associated with a certificate and used like any other signing key. This key is 2048-bit RSA. Subsequent calls to this function will then generate a new Enterprise Machine Key.
8577
8633
  * @param callback Called back with the challenge response.
8578
8634
  * @deprecated Use {@link challengeKey} instead.
8579
8635
  * @since Chrome 50
@@ -8583,16 +8639,38 @@ declare namespace chrome {
8583
8639
 
8584
8640
  challenge: ArrayBuffer,
8585
8641
 
8642
+ /**
8643
+ * @since Chrome 59
8644
+ */
8645
+ registerKey?: boolean,
8646
+
8586
8647
  /**
8587
8648
  * @param response The challenge response.
8588
8649
  */
8589
- callback: (
8650
+ callback?: (
8590
8651
  response: ArrayBuffer,
8591
8652
  ) => void,
8592
8653
  ): void;
8593
8654
 
8594
8655
  /**
8595
- * Challenges a hardware-backed Enterprise User Key and emits the response as part of a remote attestation protocol. Only useful on Chrome OS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate Chrome OS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise user policy. For example, a policy may specify that the device must not be in developer mode. \* The public key emitted by the verification is tightly bound to the hardware of the current device and to the current signed-in user. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise user policy. The Enterprise User Key does not reside in the `"user"` token and is not accessible by any other API.
8656
+ * Challenges a hardware-backed Enterprise User Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate ChromeOS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise user policy. For example, a policy may specify that the device must not be in developer mode. \* The public key emitted by the verification is tightly bound to the hardware of the current device and to the current signed-in user. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise user policy. The Enterprise User Key does not reside in the `"user"` token and is not accessible by any other API.
8657
+ *
8658
+ * @chrome-returns-extra since Pending
8659
+ * @param challenge A challenge as emitted by the Verified Access Web API.
8660
+ * @param registerKey If set, the current Enterprise User Key is registered with the `"user"` token and relinquishes the Enterprise User Key role. The key can then be associated with a certificate and used like any other signing key. This key is 2048-bit RSA. Subsequent calls to this function will then generate a new Enterprise User Key.
8661
+ * @deprecated Use {@link challengeKey} instead.
8662
+ * @since Chrome 50
8663
+ * @chrome-deprecated-since Chrome 110
8664
+ */
8665
+ export function challengeUserKey(
8666
+
8667
+ challenge: ArrayBuffer,
8668
+
8669
+ registerKey: boolean,
8670
+ ): Promise<ArrayBuffer>;
8671
+
8672
+ /**
8673
+ * Challenges a hardware-backed Enterprise User Key and emits the response as part of a remote attestation protocol. Only useful on ChromeOS and in conjunction with the Verified Access Web API which both issues challenges and verifies responses. A successful verification by the Verified Access Web API is a strong signal of all of the following: \* The current device is a legitimate ChromeOS device. \* The current device is managed by the domain specified during verification. \* The current signed-in user is managed by the domain specified during verification. \* The current device state complies with enterprise user policy. For example, a policy may specify that the device must not be in developer mode. \* The public key emitted by the verification is tightly bound to the hardware of the current device and to the current signed-in user. This function is highly restricted and will fail if the current device is not managed, the current user is not managed, or if this operation has not explicitly been enabled for the caller by enterprise user policy. The Enterprise User Key does not reside in the `"user"` token and is not accessible by any other API.
8596
8674
  *
8597
8675
  * @param challenge A challenge as emitted by the Verified Access Web API.
8598
8676
  * @param registerKey If set, the current Enterprise User Key is registered with the `"user"` token and relinquishes the Enterprise User Key role. The key can then be associated with a certificate and used like any other signing key. This key is 2048-bit RSA. Subsequent calls to this function will then generate a new Enterprise User Key.
@@ -8610,7 +8688,7 @@ declare namespace chrome {
8610
8688
  /**
8611
8689
  * @param response The challenge response.
8612
8690
  */
8613
- callback: (
8691
+ callback?: (
8614
8692
  response: ArrayBuffer,
8615
8693
  ) => void,
8616
8694
  ): void;
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "type": "module",
6
6
  "name": "chrome-types",
7
7
  "config": {
8
- "build-hash": "3c560711b82205f6"
8
+ "build-hash": "40a875d0356797b9"
9
9
  },
10
10
  "repository": {
11
11
  "type": "git",
@@ -16,5 +16,5 @@
16
16
  "url": "https://github.com/GoogleChrome/chrome-types/issues"
17
17
  },
18
18
  "homepage": "https://github.com/GoogleChrome/chrome-types",
19
- "version": "0.1.308"
19
+ "version": "0.1.309"
20
20
  }