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

Net::SSL::ExpireDate - obtain expiration date of certificate

Author

       HIROSE Masaaki <hirose31 _at_ gmail.com>

Bugs And Limitations

       No bugs have been reported.

       Please report any bugs or feature requests to "bug-net-ssl-expiredate@rt.cpan.org", or through the web
       interface at <http://rt.cpan.org>.

Description

       Net::SSL::ExpireDate get certificate from network (SSL) or local file and obtain its expiration date.

Methods

new
         $ed = Net::SSL::ExpireDate->new( %option )

       This method constructs a new "Net::SSL::ExpireDate" instance and returns it. %option is to specify
       certificate.

         KEY    VALUE
         ----------------------------
         ssl     "hostname[:port]"
         https   (same as above ssl)
         file    "path/to/certificate"
         timeout "Timeout in seconds"
         sni     "Server Name Indicator"

   expire_date
         $expire_date = $ed->expire_date;

       Return expiration date by "DateTime" instance.

   begin_date
         $begin_date  = $ed->begin_date;

       Return beginning date by "DateTime" instance.

   not_after
       Synonym for expire_date.

   not_before
       Synonym for begin_date.

   is_expired
         $expired = $ed->is_expired;

       Obtain already expired or not.

       You can specify interval to obtain will expire on the future time.  Acceptable intervals are human
       readable string (parsed by "Time::Duration::Parse") and "DateTime::Duration" instance.

         # will expire after 2 months
         $expired = $ed->is_expired('2 months');
         $expired = $ed->is_expired(DateTime::Duration->new(months=>2));

   type
       return type of examinee certificate. "ssl" or "file".

   target
       return hostname or path of examinee certificate.

Name

       Net::SSL::ExpireDate - obtain expiration date of certificate

Repository

       <http://github.com/hirose31/net-ssl-expiredate>

         git clone git://github.com/hirose31/net-ssl-expiredate.git

       patches and collaborators are welcome.

See Also

Synopsis

           use Net::SSL::ExpireDate;

           $ed = Net::SSL::ExpireDate->new( https => 'example.com' );
           $ed = Net::SSL::ExpireDate->new( https => 'example.com:10443' );
           $ed = Net::SSL::ExpireDate->new( ssl   => 'example.com:465' ); # smtps
           $ed = Net::SSL::ExpireDate->new( ssl   => 'example.com:995' ); # pop3s
           $ed = Net::SSL::ExpireDate->new( file  => '/etc/ssl/cert.pem' );

           if (defined $ed->expire_date) {
             # do something
             $expire_date = $ed->expire_date;         # return DateTime instance

             $expired = $ed->is_expired;              # examine already expired

             $expired = $ed->is_expired('2 months');  # will expire after 2 months
             $expired = $ed->is_expired(DateTime::Duration->new(months=>2));  # ditto
           }

See Also