9 votes

Comment utiliser SubtleCrypto dans chrome (window.crypto.subtle est indéfini)

C'est vraiment embarrassant

sur pratiquement tous les sites Internet,

window.crypto.subtle

retours

SubtleCrypto {}
  __proto__: SubtleCrypto

dans la console chrome (v61 (Official Build) (64-bit))

à l'exception de

ma page web, et blank.org

window.crypto.subtle

retours

undefined

selon https://developer.mozilla.org/en-US/docs/Web/API/Crypto/subtle il s'agit d'une propriété en lecture seule qui doit toujours renvoyer un objet SubtleCrypto.

Qu'aurais-je pu faire, ou qu'a fait blank.org qu'il n'aurait pas pu faire ?

ps : dans firefox cela semble fonctionner comme prévu à la fois sur mon site et sur blank.org

32voto

Zmart Points 635

Selon la spec (via Github issues) à la manière de ceci Page Google pour WebCrypto :

crypto.subtle est censé être indéfini dans des contextes non sécurisés

4voto

Rohit Points 107

Vérifiez vos URL

s'il est https://localhost:PORT ou 0.0.0.0:port ou 127.0.0.0:port

le remplacer par l'URL du nom d'hôte approprié, quelque chose comme http://localhost:PORT

a fonctionné pour moi ! Merci @Zmart

0voto

Rory Points 26

Il semblerait que vous deviez utiliser des sites avec https://...... et non http://.....

Extrait du cahier des charges - facile à manquer (et lié par Zmart, ci-dessus) :

L'accès à l'API WebCrypto est limité aux origines sécurisées ( soit https:// pages ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X