Net-AS2
    
    
  
  
  
view release on metacpan or search on metacpan
t/05-create-certificates.t view on Meta::CPAN
sub generate_key {
    my $bits = shift;
    my $key  = Net::SSLeay::EVP_PKEY_new();
    my $rsa  = Net::SSLeay::RSA_generate_key($bits, &Net::SSLeay::RSA_F4);
    Net::SSLeay::EVP_PKEY_assign_RSA($key,$rsa);
    return $key;
}
sub create_private_key_file {
    my ($key, $name) = @_;
    my $pem_privkey = Net::SSLeay::PEM_get_string_PrivateKey($key);
    like($pem_privkey, qr/-----BEGIN (RSA )?PRIVATE KEY-----/, "$name PEM_get_string_PrivateKey+nopasswd");
    open my $fh, "> $cert_dir/$name.key";
    print $fh $pem_privkey;
}
sub create_public_cert_file {
t/05-create-certificates.t view on Meta::CPAN
    my $crt_pem = Net::SSLeay::PEM_get_string_X509($x509ss);
    like($crt_pem, qr/-----BEGIN CERTIFICATE-----/, "$name PEM_get_string_X509");
    open my $fh, "> $cert_dir/$name.cert";
    print $fh $crt_pem;
}
sub create_key_cert_files {
    my $bits = shift;
    my $key = generate_key($bits);
    create_private_key_file($key, @_);
    create_public_cert_file($key, @_);
}
my $days_100 = 60*60*24*100;
create_key_cert_files(2048, 'test.1', 'ABCDEF', 0, $days_100);
create_key_cert_files(2048, 'test.2', 'FEDCBA', 0, $days_100);
create_key_cert_files(2048, 'expired.1', 'DEAD', -$days_100, -60);
( run in 0.365 second using v1.01-cache-2.11-cpan-c333fce770f )