XML-Sig-OO
view release on metacpan or search on metacpan
exaples/sign_multi_keys.pl view on Meta::CPAN
# create our signign object
my $s=new XML::Sig::OO(
xml=>'<?xml version="1.0" standalone="yes"?><data><test ID="A" /><test ID="B" /></data>',
);
my $x=$s->build_xpath;
# sign our first xml chunk with our rsa key!
my $rsa_str=join '',IO::File->new(File::Spec->catfile($Bin,'x509_key.pem'))->getlines;
my $rsa=Crypt::OpenSSL::RSA->new_private_key($rsa_str);
$rsa->use_pkcs1_padding();
my $cert_str=join '',IO::File->new(File::Spec->catfile($Bin,'x509_cert.pem'))->getlines;
$s->sign_cert($rsa);
$s->key_type('rsa');
$s->cert_string($cert_str);
my $result=$s->sign_chunk($x,1);
die $result unless $result;
# Sign our 2nd chunk with our dsa key
my $dsa = Crypt::OpenSSL::DSA->read_priv_key(File::Spec->catfile($Bin,'dsa_priv.pem'));
lib/XML/Sig/OO.pm view on Meta::CPAN
# create our signign object
my $s=new XML::Sig::OO(
xml=>'<?xml version="1.0" standalone="yes"?><data><test ID="A" /><test ID="B" /></data>',
);
my $x=$s->build_xpath;
# sign our first xml chunk with our rsa key!
my $rsa_str=join '',IO::File->new(File::Spec->catfile($Bin,'x509_key.pem'))->getlines;
my $rsa=Crypt::OpenSSL::RSA->new_private_key($rsa_str);
$rsa->use_pkcs1_padding();
my $cert_str=join '',IO::File->new(File::Spec->catfile($Bin,'x509_cert.pem'))->getlines;
$s->sign_cert($rsa);
$s->key_type('rsa');
$s->cert_string($cert_str);
my $result=$s->sign_chunk($x,1);
die $result unless $result;
# Sign our 2nd chunk with our dsa key
my $dsa = Crypt::OpenSSL::DSA->read_priv_key(File::Spec->catfile($Bin,'dsa_priv.pem'));
lib/XML/Sig/OO.pm view on Meta::CPAN
Returns a Data::Result object, when true it contains the following hashref:
type: 'rsa'
cert: $cert_object
=cut
sub load_rsa_string {
my ($self,$str)=@_;
my $rsaKey = Crypt::OpenSSL::RSA->new_private_key( $str );
return new_false Data::Result("Failed to parse rsa key") unless $rsaKey;
$rsaKey->use_pkcs1_padding();
return new_true Data::Result({cert=>$rsaKey,type=>'rsa'});
}
=head2 my $result=$self->load_x509_string($string)
Returns a Data::Result object, when true it contains the following hashref:
type: 'x509'
( run in 0.251 second using v1.01-cache-2.11-cpan-4d50c553e7e )