how to use SubtleCrypto
[encrypt, decrypt, generateKey, exportKey, importKey]で構成。available in secure contexts.
aes
AES-CTR AES-CBC AES-GCM
01. generate extractable encryptingKeyawait crypto.subtle.generateKey(algorithm,true,[`encrypt`])02. encrypt
await crypto.subtle.encrypt(algorithm,encryptingKey,data)03. export encryptingKey
await crypto.subtle.exportKey(format,encryptingKey)04. import exportedEncryptingKey
await crypto.subtle.importKey(format,exportedEncryptingKey,algorithm,false,[`decrypt`])05. decrypt
await crypto.subtle.decrypt(algorithm,importedExportedEncryptingKey,encrypted)verify AES-CTR AES-CBC
06. generate extractable signingKeyawait crypto.subtle.generateKey(algorithm,true,[`sign`])07. sign
crypto.subtle.sign(algorithm,signingKey,encrypted)08. export signingKey
await crypto.subtle.exportKey(format,signingKey)09. import exportedSigningKey
await crypto.subtle.importKey(format,exportedSigningKey,algorithm,false,[`verify`])10. verify
await crypto.subtle.verify(algorithm,importedExportedSigningKey,signature,encrypted)rsa
RSA-OAEP
01. generate extractable encryptingKeysawait crypto.subtle.generateKey(algorithm,true,[`encrypt`,`decrypt`])02. encrypt
await crypto.subtle.encrypt(algorithm,encryptingKeys.publicKey,data)03. export encryptingPrivateKey
await crypto.subtle.exportKey(format,encryptingKeys.privateKey)04. import exportedEncryptingPrivateKey
await crypto.subtle.importKey(format,exportedEncryptingPrivateKey,algorithm,false,[`decrypt`])05. decrypt
await crypto.subtle.decrypt(algorithm,importedExportedEncryptingPrivateKey,encrypted)