2011-12-16 23:31:35 +00:00
|
|
|
<?php defined('SYSPATH') or die('No direct access allowed.');
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This class is for access to SSL information
|
|
|
|
*
|
|
|
|
* @package OSB
|
|
|
|
* @subpackage System
|
|
|
|
* @category Helpers
|
|
|
|
* @author Deon George
|
|
|
|
* @copyright (c) 2010 Open Source Billing
|
|
|
|
* @license http://dev.osbill.net/license.html
|
|
|
|
*/
|
|
|
|
class SSL {
|
|
|
|
public static function instance() {
|
|
|
|
return new SSL;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function details($key) {
|
|
|
|
return openssl_x509_parse($key);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function issuer($key) {
|
|
|
|
$k = static::details($key);
|
|
|
|
return $k['issuer']['CN'];
|
|
|
|
}
|
|
|
|
|
2011-12-26 13:52:46 +00:00
|
|
|
public static function from($key,$format=FALSE) {
|
2011-12-16 23:31:35 +00:00
|
|
|
$k = static::details($key);
|
2011-12-26 13:52:46 +00:00
|
|
|
return $format ? Config::date($k['validFrom_time_t']) : $k['validFrom_time_t'];
|
2011-12-16 23:31:35 +00:00
|
|
|
}
|
|
|
|
|
2011-12-26 13:52:46 +00:00
|
|
|
public static function expire($key,$format=FALSE) {
|
2011-12-16 23:31:35 +00:00
|
|
|
$k = static::details($key);
|
2011-12-26 13:52:46 +00:00
|
|
|
return $format ? Config::date($k['validTo_time_t']) : $k['validTo_time_t'];
|
2011-12-16 23:31:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public static function hash($key) {
|
|
|
|
$k = static::details($key);
|
|
|
|
return $k['hash'];
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function serial($key) {
|
|
|
|
$k = static::details($key);
|
|
|
|
return $k['serialNumber'];
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function subject($key) {
|
|
|
|
$k = static::details($key);
|
|
|
|
return $k['subject']['CN'];
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function version($key) {
|
|
|
|
$k = static::details($key);
|
|
|
|
return $k['version'];
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function csrsubject($csr) {
|
|
|
|
$c = openssl_csr_get_subject($csr);
|
|
|
|
|
|
|
|
return $c['CN'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|