Index: chrome/common/extensions/api/platform_keys_internal.idl |
diff --git a/chrome/common/extensions/api/platform_keys_internal.idl b/chrome/common/extensions/api/platform_keys_internal.idl |
index 0e2d827c125a628748b6d01557ea71738d12c25d..d3338b4fcabbd652ed07554e817398b031fee03d 100644 |
--- a/chrome/common/extensions/api/platform_keys_internal.idl |
+++ b/chrome/common/extensions/api/platform_keys_internal.idl |
@@ -12,6 +12,14 @@ namespace platformKeysInternal { |
// |signature| The signature, a octet string. |
callback SignCallback = void(ArrayBuffer signature); |
+ // Called back by <code>getPublicKey</code>. |
+ // |publicKey| The Subject Public Key Info (see X.509) of the requested |
+ // certificate. |
+ // |algorithm| A partial WebCrypto KeyAlgorithm containing all information |
+ // that is available from the Subject Public Key Info. It does not contain |
+ // signature/hash parameters. |
+ callback GetPublicKeyCallback = void(ArrayBuffer publicKey, object algorithm); |
+ |
interface Functions { |
// See documentation in platformKeys. |
static void selectClientCertificates( |
@@ -23,9 +31,11 @@ namespace platformKeysInternal { |
// |tokenId| The id of a Token returned by |getTokens|. |
// |publicKey| The Subject Public Key Info of a key previously generated by |
// |generateKey| in DER encoding. |
- // |hashAlgorithmName| The recognized algorithm name as specified by |
- // WebCrypto of the hash algorithm that will be used to digest |data| |
+ // |hashAlgorithmName| The recognized algorithm name of the hash algorithm, |
+ // as specified by WebCrypto, that will be used to digest |data| |
// before signing. Currently supported are: SHA-{1,256,384,512}. |
+ // If instead the algorithm name "none" is provided, no hashing will be |
+ // applied, the data is PKCS#1 v1.5 padded but not hashed. |
// TODO(pneubeck): use an enum once supported: |
// http://www.crbug.com/385539 . |
// |data| The data to sign. |
@@ -37,5 +47,10 @@ namespace platformKeysInternal { |
DOMString hashAlgorithmName, |
ArrayBuffer data, |
SignCallback callback); |
+ |
+ // Calls back <code>callback</code> with details about the key certified by |
+ // <code>certificate</code>. |
+ static void getPublicKey(ArrayBuffer certificate, |
+ GetPublicKeyCallback callback); |
}; |
}; |