Net-AS2-PSGI
view release on metacpan or search on metacpan
t/01-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 ($cert_dir, $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");
mkpath($cert_dir, 0, oct(700)) unless -d $cert_dir;
open my $fh, "> $cert_dir/$name.key";
print $fh $pem_privkey;
}
t/01-create-certificates.t view on Meta::CPAN
open my $fh, "> $cert_dir/$name.cert";
print $fh $crt_pem;
}
sub create_key_cert_files {
my $cert_dir = shift;
my $bits = shift;
my $key = generate_key($bits);
create_private_key_file($cert_dir, $key, @_);
create_public_cert_file($cert_dir, $key, @_);
}
my $days_100 = 60*60*24*100;
create_key_cert_files("$CERT_DIR/A/certificates", 2048, 'A', 'ABCDEF', 0, $days_100);
create_key_cert_files("$CERT_DIR/B/certificates", 2048, 'B', 'FEDCBA', 0, $days_100);
# Copy certificate files between partnerships
copy("$CERT_DIR/A/certificates/A.cert", "$CERT_DIR/B/certificates");
( run in 0.228 second using v1.01-cache-2.11-cpan-4d50c553e7e )