Skip to content

hirose31/Net-SSL-ExpireDate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

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

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
}

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.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests to [email protected], or through the web interface at http://rt.cpan.org.

AUTHOR

HIROSE Masaaki <hirose31 _at_ gmail.com>

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

COPYRIGHT & LICENSE

Copyright HIROSE Masaaki

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages