This module contains XQuery functions to perform cryptographic operations in XQuery.
The cryptographic module is based on an early draft of the EXPath Cryptographic Module and provides the following functionality:
- Creation of message authentication codes (HMAC)
- Creation and validation of an XML Digital Signature
- Encryption and decryption
The module is introduced with Version 7.0 of BaseX.
crypto:hmac
Signatures
|
crypto:hmac($message as xs:string(), $secret-key as xs:string(), algorithm as xs:string()) as xs:string()
crypto:hmac($message as xs:string(), $secret-key as xs:string(), algorithm as xs:string(), $encoding as xs:string()) as xs:string()
|
Summary
|
Creates a message authentication code via a cryptographic hash function and a secret key.
$encoding must either be hex , base64 or the empty string (default is base64 ) and specifies the encoding of the returned authentication code.
$algorithm describes the hash algorithm which is used for encryption. Currently supported are md5 , sha1 , sha256 , sha384 , sha512 .
|
Errors
|
?
|
crypto:encrypt
Signatures
|
crypto:encrypt($input as xs:string(), $encryption-type as xs:string(), $secret-key as xs:string(), $cryptographic-algorithm as xs:string()) as xs:string()
|
Summary
|
?
|
Errors
|
?
|
crypto:decrypt
Signatures
|
crypto:decrypt($input as xs:string(), $decryption-type as xs:string(), $secret-key as xs:string(), $cryptographic-algorithm as xs:string()) as xs:string()
|
Summary
|
?
|
Errors
|
?
|
crypto:generate-signature
Signatures
|
crypto:generate-signature($input-doc node(), $canonicalization-algorithm as xs:string(), $digest-algorithm as xs:string(), $signature-algorithm as xs:string(), $signature-namespace-prefix as xs:string(), $signature-type as xs:string()) as node()
crypto:generate-signature($input-doc node(), $canonicalization-algorithm as xs:string(), $digest-algorithm as xs:string(), $signature-algorithm as xs:string(), $signature-namespace-prefix as xs:string(), $signature-type as xs:string(), $xpath-expression as xs:string()) as node()
crypto:generate-signature($input-doc node(), $canonicalization-algorithm as xs:string(), $digest-algorithm as xs:string(), $signature-algorithm as xs:string(), $signature-namespace-prefix as xs:string(), $signature-type as xs:string(), $digital-certificate as node()) as node()
crypto:generate-signature($input-doc node(), $canonicalization-algorithm as xs:string(), $digest-algorithm as xs:string(), $signature-algorithm as xs:string(), $signature-namespace-prefix as xs:string(), $signature-type as xs:string(), $xpath-expression as xs:string(), $digital-certificate as node()) as node()
|
Summary
|
?
|
Errors
|
?
|
crypto:validate-signature
Signatures
|
crypto:validate-signature($input-doc as node()) as xs:boolean()
|
Summary
|
?
|
Errors
|
?
|