NAME
WWW::LetsEncrypt::JWA
SYNOPSIS
use Moose;
with qw(WWW::LetsEncrypt::JWA ...)
sub sign { my ($self, $message) = @_; ... return ...; }
sub _set_hash { ... }
DESCRIPTION
This is a role that when used together with WWW::LetsEncrypt::JWK as parents will create a JSON Web Key that implements all the functions needed for signing JSON Web Signature objects.
Attributes
'alg' a scalar attribute meant to hold the algorithm that will be used for signing, as defined in the JWA RFC.
Currently allowed algorithms: ES256, ES384, ES512, RS256, RS384, RS512,
Public Functions
- sign($message)
-
Abstract object function that takes an argument and signs it based off of the internal configuration of the JWA subclass.
Input
$self - Object Reference $message - scalar string of what needs to be signed
Output
scalar octets representing the signature of the message.
Private Functions
- _set_hash($hash)
-
Abstract object function that takes a number argument, which is used to determine which SHA2 algorithm will be used for hashing.
Implementers should permit values of (256, 384, 512). All other values should throw an error.
Input
$self - Object Reference $hash - numerical value
Output
boolean if setting the value was successful
- _verify_alg($alg)
-
Trigger function that is called after the 'alg' parameter has been set. Assuming an accept algorithm was used, this function calls $self->_set_hash with the SHA2 hashing algorithm selected.