logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Web::ID::Certificate - an x509 certificate

Author

       Toby Inkster <tobyink@cpan.org>.

Bugs

       Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=Web-ID>.

Description

Constructor
       "new"
           Standard Moose-style constructor.

   Attributes
       "pem"
           A PEM-encoded string for the certificate.

           This is usually the only attribute you want to pass to the constructor.  Allow the others to be built
           automatically.

       "public_key"
           A Web::ID::RSAKey object.

       "fingerprint"
           A  string  identifier  for  the  certificate. It is the lower-cased hexadecimal SHA1 hash of the DER-
           encoded certificate.

           This is not used in WebID authentication, but may be used as an identifier for the certificate if you
           need to keep it in a cache.

       "not_before"
           DateTime object indicating when the certificate started (or will start) to be valid.

       "not_after"
           DateTime object indicating when the certificate will cease (or has ceased) to be valid.

       "subject_alt_names"
           An arrayref containing a list of  subject  alt  names  (Web::ID::SAN  objects)  associated  with  the
           certificate. These are sorted in the order they'll be tried for WebID authentication.

       "san_factory"
           A coderef used for building Web::ID::SAN objects. It's very unlikely you need to play with this - the
           default is probably OK. But changing this is "supported" (in so much as any of this is supported).

           The coderef is passed a hash (not hashref) along the lines of:

            (
              type  => 'uniformResourceIdentifier',
              value => 'http://example.com/id/alice',
            )

   Methods
       "timely"
           Checks  "not_before"  and  "not_after"  against  the  current  system  time  to  indicate whether the
           certifixate is temporally valid. Returns a boolean.

           You can optionally pass it a DateTime object to use instead of the current system time.

       "exponent"
           Delegated to the "public_key" attribute.

       "modulus"
           Delegated to the "public_key" attribute.

Disclaimer Of Warranties

       THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT  ANY  EXPRESS  OR  IMPLIED  WARRANTIES,  INCLUDING,  WITHOUT
       LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

perl v5.32.1                                       2021-09-11                          Web::ID::Certificate(3pm)

Name

       Web::ID::Certificate - an x509 certificate

See Also

       Web::ID, Web::ID::SAN, Web::ID::RSAKey.

       Web::ID::Certificate::Generator -  augments  this  class  to  add  the  ability  to  generate  new  WebID
       certificates.

       Crypt::X509 provides a pure Perl X.509 certificate parser, and is used internally by this module.

Synopsis

        my $cert = Web::ID::Certificate->new(pem => $pem_encoded_x509);
        foreach (@{ $cert->subject_alt_names })
        {
          say "SAN: ", $_->type, " = ", $_->value;
        }

See Also