https://github.com/perl-net-saml2/perl-crypt-openssl-signcsr
https://github.com/perl-net-saml2/perl-crypt-openssl-signcsr
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/perl-net-saml2/perl-crypt-openssl-signcsr
- Owner: perl-net-saml2
- License: other
- Created: 2023-06-20T02:19:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-27T00:55:12.000Z (almost 2 years ago)
- Last Synced: 2025-02-01T14:46:22.316Z (4 months ago)
- Language: XS
- Homepage: https://metacpan.org/pod/Crypt::OpenSSL::SignCSR
- Size: 212 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
- License: LICENSE
Awesome Lists containing this project
README
# NAME
Crypt::OpenSSL::SignCSR - Sign a Certificate Signing Request in XS.
# SYNOPSIS
```perl
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);
my $ret = $signer->set_format("text");
my $ret = $signer->set_days("SHA512");$cert = $signer->sign( $request ); # CSR in PEM format
```# DESCRIPTION
Allows a Certificate Signing Request (CSR) to be signed to create a
X509 PEM encoded Certificate.# METHODS
## sign($csr)
Sign the provided CSR in PEM format.
Returns a signed certificate file in the specified format.
Arguments:
```
* $csr - a PEM format Certificate signing request. You can create one with
Crypt::OpenSSL::PKCS10 or any other product capable of creating a signing request.
```## set\_digest($digest)
Set the digest that should be used for signing the certificate.
Any openssl supported digest can be specified. If the value provided is not
a valid it will set the openssl default.Returns true (1) if successful and false (0) for a failure.
Arguments:
```
* $digest - the specified openssl supported digest (ex SHA1, SHA256, SHA384, SHA512)
```## get\_digest()
Get the digest that is currently set.
Returns a string
## set\_format($format)
Set the format that should be used to output the the certificate.
Supported formats are "text" and "pem" (default).
Returns true (1) if successful and false (0) for a failure.
Arguments:
```
* $format - the specified output format ("pem", "text")
```## get\_format()
Get the output format that is currently set.
Returns a string
## set\_days($days)
Set the number of days that the Certificate will be valid. The days can
be set via the constructor or modified via set\_days()Returns true (1) if successful and false (0) for a failure.
Arguments:
```
* $days - number of days that the certificate will be valid.
```## get\_days()
Get the number of days that is currently set.
Returns the number of days or -1 for a failure.
# EXPORT
None by default.
# SEE ALSO
Crypt::OpenSSL::PKCS10 allows you to generate a Certificate Signing Request (CSR)
# AUTHOR
Timothy Legge,
# COPYRIGHT
Copyright (C) 2023 by Timothy Legge
Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.I did not write any OpenSSL related code I simply copied and pasted
the work of the OpenSSL project's openssl code until I arrived at a XS
based module that could create a certificate from a Certificate Signing Request.# LICENSE
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
in the file LICENSE in the source distribution or at
https://www.openssl.org/source/license.html