plinth/browser/crypto/subtle
Types
pub type DigestAlgorithm {
SHA1
SHA256
SHA384
SHA512
}
Constructors
-
SHA1 -
SHA256 -
SHA384 -
SHA512
pub type KeyUsage {
Encrypt
Decrypt
Sign
Verify
DeriveKey
DeriveBits
WrapKey
UnwrapKey
}
Constructors
-
Encrypt -
Decrypt -
Sign -
Verify -
DeriveKey -
DeriveBits -
WrapKey -
UnwrapKey
pub type PublicKeyAlgorithm {
EcKeyGenParams(name: String, named_curve: String)
}
Constructors
-
EcKeyGenParams(name: String, named_curve: String)
pub type SignAlgorithm {
EcdsaParams(hash: DigestAlgorithm)
}
Constructors
-
EcdsaParams(hash: DigestAlgorithm)
Values
pub fn digest(
algorithm: DigestAlgorithm,
data: BitArray,
) -> promise.Promise(Result(BitArray, String))
pub fn digest_algorithm_to_string(
algorithm: DigestAlgorithm,
) -> String
pub fn export_jwk(
key: CryptoKey,
) -> promise.Promise(Result(json.Json, String))
export Jwk is separate because it returns JSON, other formats return array buffer
pub fn generate_key(
algorithm: PublicKeyAlgorithm,
extractable: Bool,
key_usages: List(KeyUsage),
) -> promise.Promise(Result(#(CryptoKey, CryptoKey), String))
pub fn sign(
algorithm: SignAlgorithm,
key: CryptoKey,
data: BitArray,
) -> promise.Promise(Result(BitArray, String))