2015-08-24 2 views
0

Je suis en train de déballer une clé à l'aide SubtleCrypto.unwrapkey ... mon algorithme Déballer est:Dépannage message moins OperationError lors de l'utilisation SubtleCrypto

{name: 'RSA-OAEP', hash: Object{name: 'SHA-1'}, modulusLength: 2048, publicExponent: Uint8Array{0: 1, 1: 0, 2: 1} 

alors que mon unwrappedKeyAlgo est:

{ name: 'AES-CBC', altName: 'aes256-CBC',length: 256, usages: pri: ['decrypt', 'unwrapKey'], pub: ['encrypt', 'wrapKey'] }} 

Mon appel ressemble à ceci:

return webcrypto.subtle.unwrapKey(
     'raw', 
     // wrappedKey 
     encSymmKey, 
     // unwrappingKey 
     keyPair.private, 
     // unwrapAlgo 
     keyAlg, 
     // unwrappedKeyAlgo 
     symmAlg, 
     // extractable 
     true, 
     ['encrypt', 'decrypt'] 
    ) 

J'ai essayé quelques choses différentes en vain, et tandis que pour m La plupart du temps, je reçois un OperationError sans aucun message (c.-à-d. error.message est « »), vers la fin j'ai commencé à:

0, 'OperationError', '192-bit AES keys are not supported' 

même si il n'y a pas de clé de 192 bits en vue aussi loin que je peux voir. Est-ce que quelqu'un a des conseils sur la façon de déboguer/dépanner à la fois les cas OperationError sans message (ce n'est vraiment pas grand-chose à faire, vraiment), et/ou ce dernier. Quel est le lieu de rendez-vous (autre que le débordement de pile) pour les questions sur des sujets similaires?

Répondre

0

IE11 (à en juger par vos erreurs) est cassé à cet égard. Ceci doit être fait comme une procédure en deux étapes, d'abord déchiffrage:

msCrypto.subtle.decrypt(keyAlg, keyPair.private, encSymmKey) 

puis importer le résultat « k »:

msCrypto.subtle.importKey('raw', k, symmAlg, true, ['encrypt', 'decrypt']) 

Espoir qui vous sauve des ennuis ;-)