Net-Saml2
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Net/SAML2/Binding/Redirect.pm view on Meta::CPAN
rawdeflate \$input => \$output;
my $req = encode_base64($output, '');
my $u = URI->new($self->url);
$u->query_param($self->param, $req);
$u->query_param('RelayState', $relaystate) if defined $relaystate;
$u->query_param('SigAlg', 'http://www.w3.org/2000/09/xmldsig#rsa-sha1');
my $key_string = read_file($self->key);
my $rsa_priv = Crypt::OpenSSL::RSA->new_private_key($key_string);
my $to_sign = $u->query;
my $sig = encode_base64($rsa_priv->sign($to_sign), '');
$u->query_param('Signature', $sig);
my $url = $u->as_string;
return $url;
}
lib/Net/SAML2/XML/Sig.pm view on Meta::CPAN
##
sub _load_rsa_key {
my $self = shift;
my ($key_text) = @_;
eval {
require Crypt::OpenSSL::RSA;
};
confess "Crypt::OpenSSL::RSA needs to be installed so that we can handle RSA keys." if $@;
my $rsaKey = Crypt::OpenSSL::RSA->new_private_key( $key_text );
if ( $rsaKey ) {
$rsaKey->use_pkcs1_padding();
$self->{ key_obj } = $rsaKey;
$self->{ key_type } = 'rsa';
if (!$self->{ x509 }) {
my $bigNum = ( $rsaKey->get_key_parameters() )[1];
my $bin = $bigNum->to_bin();
my $exp = encode_base64( $bin, '' );
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.447 second using v1.00-cache-2.02-grep-82fe00e-cpan-2cc899e4a130 )