Crypt-OpenSSL-SignCSR

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

NAME
    Crypt::OpenSSL::SignCSR - Sign a Certificate Signing Request in XS.

SYNOPSIS
      use Crypt::OpenSSL::SignCSR;

      my $signer = Crypt::OpenSSL::SignCSR->new(
                                    $private_key_pem
                                    {   # OPTIONAL
                                        days    => $days,   # Number of days for the certificate
                                        digest  => $digest, # Signature digest default (SHA256)
                                        format  => $format, # Output format "text" or "pem" (default)
                                    });
      my $cert   = $signer->sign(
                                    $request, # CSR in PEM format
                                );

      my $ret = $signer->set_days(3650);

SignCSR.xs  view on Meta::CPAN

 end:
    sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
    return ret;
}

int cert_matches_key(const X509 *cert, const EVP_PKEY *pkey)
{
    int match;

    ERR_set_mark();
    match = X509_check_private_key((X509 *) cert, (EVP_PKEY *) pkey);
    ERR_pop_to_mark();
    return match;
}

static int do_x509_req_init(X509_REQ *x, STACK_OF(OPENSSL_STRING) *opts)
{
    //int i;

    opts = NULL;
    if (opts == NULL)

t/003-openssl-crypt-pkcs10.t  view on Meta::CPAN

l7ZyjUm0xGFuBG74iaw5ayUGdeNYDKk3sY5jK+PSaRhHcsA5Uoh+MAzhAoGAeiCM
tqBRmzDdRU/SNJs86U0fo0MiRpR5jO3NhH2n5t4fDgx/14n7+jvcnPRUXZ8gLkip
wVSBbxBTXE31rSPXHXrqk7SzwNuyax12Zop0bp+h3pirsZMgOfC1TQ4N1mBgzDRJ
8vvpCbwf9gSrReOPYTstyYIvqN8BY3nkWsSXElECgYA8MHCbPiE5v1SyE6B8yKO5
1/9Yg1unrwPBj6Q7YOUZLGaaWVuJfIvjkM/dOOypi170tMYWiOKk6RNz+j841thh
N3nGJfwRq+92jboNoqrhMxmMXFkPRIfpTBCIno6+i3ashVPND1fRrp/DWzA9hWGN
1ib27M8VSoEbTa+n4bmf3Q==
-----END PRIVATE KEY-----
PRIVKEY

my $priv = Crypt::OpenSSL::RSA->new_private_key($privkey);


my $req = Crypt::OpenSSL::PKCS10->new_from_rsa($priv);
isa_ok($req, "Crypt::OpenSSL::PKCS10");

$req->set_subject("/C=CA/ST=New Brunswick/O=XML::Sig/OU=perl");
$req->add_ext(Crypt::OpenSSL::PKCS10::NID_key_usage,"critical,digitalSignature,keyEncipherment");
$req->add_ext(Crypt::OpenSSL::PKCS10::NID_ext_key_usage,"serverAuth, nsSGC, msSGC, 1.3.4");
$req->add_ext(Crypt::OpenSSL::PKCS10::NID_subject_alt_name,"email:timlegge\@cpan.org");
#$req->add_custom_ext('1.2.3.3',"My new extension");

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.318 second using v1.00-cache-2.02-grep-82fe00e-cpan-2cc899e4a130 )