Changes

Jump to: navigation, search

Privacy/Features/DOMCryptAPISpec/Latest

1,287 bytes added, 00:52, 7 June 2011
Browser Window property
== Browser Window property WebIDL ==
;window.mozCrypto<br>
All windows will have this property (in the current implementation) for the time being as this API is hashed out.
The property is namespaced in order to provide future capabilities. The current design is asynchronous and looks like this: <br>
<pre class="brush:js;toolbar:false;">
[Supplemental]interface Crypto { readonly attribute CryptoPk pk: { // Public Key API; readonly attribute CryptoSym sym; set algorithm(algorithm){ }, readonly attribute CryptoHash hash; readonly attribute CryptoHmac hmac; get algorithm(){ },;
// Generate a keypair and then execute the callback functiondictionary CryptoKeyPair { long created; DOMString privKey; DOMString pubKey; DOMString salt; DOMString iv; DOMString algorithm; generateKeypair: function ( function callback( aPublicKey ) { } ) { },
// encrypt a plainTextdictionary CryptoConfiguration { CryptoKeyPair keyID; encrypt: function ( plainText, publicKey, function callback (cipherMessageObject) ) { } ) { },;
// decrypt a cipherMessageinterface PKCryptoMessage { attribute DOMString cryptoMessage; attribute DOMString wrappedKey; attribute DOMString pubKey; attribute DOMString salt; attribute DOMString iv; attribute DOMString algorithm; decrypt: function ( cipherMessageObject, function callback ( plainText ) { } ) { }, ;
// sign a message[Callback=FunctionOnly, NoInterfaceObject] interface GenerateKeypairCallback { sign: function void onsuccess( plainText, function callback ( signature DOMString pubKey) { ;} ) { }, ;
// verify a signature[Callback=FunctionOnly, NoInterfaceObject] interface PKEncryptCallback { verify: function ( signature, plainText, function callback void onsuccess( boolean ) { } PKCryptoMessage message) { },; }, sym: { // Symmetric Crypto API;
get algorithm[Callback=FunctionOnly, NoInterfaceObject] interface PKDecryptCallback { void onsuccess(DOMString plainText), ;};
set algorithm(algorithm)[Callback=FunctionOnly, // create a new symmetric key generateKey: function (function callback ( key ){ }) NoInterfaceObject] interface PKSignCallback { }, // encrypt some data encrypt: function void onsuccess(plainText, key, function callback( cipherText DOMString signature) { }) { }, // decrypt some data; decrypt: function (cipherText, key, function callback( plainText ) { }) { }, },;
hash: [Callback=FunctionOnly, NoInterfaceObject] interface PKVerifyCallback { set algorithm void onsuccess( algorithm boolean verified) { ;},;
get algorithm( ) interface CryptoPk { },
createHash: function (function callback (hash) {}) { } }, attribute DOMString algorithm;
hmac: { get algorithm void generateKeypair(GenerateKeypairCallback callback) { },;
set algorithm void encrypt(algorithmDOMString plainText, DOMString pubKey, PKEncryptCallback callback){ },;
createHMAC: function void decrypt(PKCryptoMessage message, PKDecryptCallback callback);  void sign(DOMString plainText, PKSignCallback callback);  void verify(DOMString signature, DOMString plainText, PKVerifyCallback callback); }; [Callback=FunctionOnly, NoInterfaceObject] interface SymGenerateKeyCallback { void onsuccess(DOMString symKey);}; [Callback=FunctionOnly, NoInterfaceObject] interface SymEncryptCallback { void onsuccess(DOMString cipherText);}; [Callback=FunctionOnly, NoInterfaceObject] interface SymDecryptCallback { void onsuccess(DOMString plainText);}; interface CryptoSym {  attribute DOMString algorithm;  void generateKey(SymGenerateKeyCallback callback);  void encrypt(plaintextDOMString plainText, keyDOMString symKey, function SymEncryptCallback callback);  void decrypt( mac DOMString cipherText, DOMString symKey, SymDecryptCallback callback); }; [Callback=FunctionOnly, NoInterfaceObject] interface hashCallback { void onsuccess(DOMString hash);}; interface CryptoHash {  attribute DOMString algorithm;  void createHash(DOMString plainText, hashCallback callback) ; }; [Callback=FunctionOnly, NoInterfaceObject] interface createHMACCallback { void onsuccess(DOMString hmac);}; [Callback=FunctionOnly,NoInterfaceObject] interface verifyHMACCallback { void onsuccess(boolean verified);}; interface CryptoHmac {  attribute DOMString algorithm;  void createHMAC(DOMString plainText, DOMString pubKey, createHMACCallback callback);  void verifyHMAC(DOMString plainText, verifyHMACCallback callback); };
verifyHMAC: function(plaintext, key, receivedMac, function callback( booleanVerified ){ }) { }
}
}
</pre>
 
== Notes ==
564
edits

Navigation menu