A interface SubtleCrypto
representa um conjunto de criptografias primitivas. E está disponível via propriedades Crypto.subtle
disponíveis em uma janela de contexto (via Window.crypto
).
Por especificação: "Desenvolvedores fazendo uso da interface SubtleCrypto devem estar cientes das preocupações associadas com o design e a implementação de vários algoritmos providos. Os algoritmos brutos são providos em ordem para permitir aos desenvolvedores uma felixibilidade máxima na implementação de uma variedade de protocolos e aplicações, cada um deve representar a composição e os parâmetros de segurança em uma maneira única que necessita do uso de algoritmos brutos."
Propriedades
Esta interface não herda e nem implementa nenhuma propriedade.
Métodos
Esta interface não herda nenhum método
SubtleCrypto.encrypt()
- Retorna uma
Promise
da informação criptografada correspondente com o texto, algoritmo e chave key dados como parâmetros. SubtleCrypto.decrypt()
- Retorna uma
Promise
da informação correspondente ao texto encriptografado, algoritmo e key dados como parâmetros. SubtleCrypto.sign()
- Retorna uma
Promise
de uma assinatura correspondente ao texto, algoritmo e key dados como parâmetros. SubtleCrypto.verify()
- Retorna uma
Promise
de um valorBoolean
indicando se a assinatura dada como parâmetro combina com o texto, algoritmo e key também dados como parâmetros. SubtleCrypto.digest()
- Retorna uma
Promise
de um resumo gerado a partir do algoritmo e texto dados como parâmetros. SubtleCrypto.generateKey()
- Retorna uma
Promise
de uma recentemente geradaCryptoKey
, para algoritmos simétricos, ou umaCryptoKeyPair
, contendo duas novas keys simétricas, para algoritmos assimétricos, que combina com o algoritmo, os usos e a extrabilidade dados como parâmetros. SubtleCrypto.deriveKey()
- Retorna uma
Promise
de uma recentemente geradaCryptoKey
derivada de uma master key e um algoritmo específico dados como parâmetros. SubtleCrypto.deriveBits()
- Retorna uma
Promise
de um buffer recentemente gerado de bits pseudo-randômicos derivados de uma master key e um algoritmo específico dados como parâmetros. SubtleCrypto.importKey()
- Retorna uma
Promise
de umaCryptoKey
correspondente ao formato, o algoritmo, a informação da key bruta, o uso e a extrabilidade dados como parâmetros. SubtleCrypto.exportKey()
- Retorna uma
Promise
deu uma buffer contendo a key no formato requisitado. SubtleCrypto.wrapKey()
- Retorna uma
Promise
de uma key envolvida simetricamente para uso (transferência, armazenamento) em ambientes não seguros. O buffer envolvido retornado será no formato dado nos parâmetros, e contém a key envolvida com a key envolvendo e o algoritmo dado. SubtleCrypto.unwrapKey()
- Retorna uma
Promise
de umaCryptoKey
correspondente à key envolvida dada como parâmetro.
Especificações
Especificação | Status | Comentário |
---|---|---|
Web Cryptography API The definition of 'SubtleCrypto' in that specification. |
Recomendação | Definição inicial. |
Compatibilidade de Browser
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
SubtleCrypto | Chrome Full support 37 | Edge Partial support 12 | Firefox
Full support
34
| IE Partial support 11 | Opera Full support 24 | Safari
Full support
10.1
| WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS
Full support
10.3
| Samsung Internet Android Full support 6.0 |
decrypt | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
deriveBits | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE No support No | Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
deriveKey | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE No support No | Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
digest | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
encrypt | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
exportKey | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
generateKey | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
importKey | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
sign | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
unwrapKey | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android ? | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
verify | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
Available in workers | Chrome ? | Edge No support No | Firefox Full support 48 | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android ? | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
wrapKey | Chrome Full support 37 | Edge
Partial support
12
| Firefox
Full support
34
| IE
Partial support
11
| Opera Full support 24 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 37 | Firefox Android
Full support
34
| Opera Android Full support 24 | Safari iOS Full support 7 | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.