diff options
author | stilez <stilez@users.noreply.github.com> | 2016-06-06 06:52:13 +0100 |
---|---|---|
committer | stilez <stilez@users.noreply.github.com> | 2016-06-06 06:52:13 +0100 |
commit | 4945841d6c574102a8aff465c11c3558d71c0e49 (patch) | |
tree | 62f52a020106105ae4038154686cbb52774f870e /src | |
parent | a0e2eb01edaafa4ef2e578e07a218bfc0473aff8 (diff) | |
download | pfsense-4945841d6c574102a8aff465c11c3558d71c0e49.zip pfsense-4945841d6c574102a8aff465c11c3558d71c0e49.tar.gz |
Get modulus keysize
Useful utility function when it's necessary to verify that existing keys meets current practices
Diffstat (limited to 'src')
-rw-r--r-- | src/etc/inc/certs.inc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/etc/inc/certs.inc b/src/etc/inc/certs.inc index d49f478..a07c682 100644 --- a/src/etc/inc/certs.inc +++ b/src/etc/inc/certs.inc @@ -582,6 +582,14 @@ function cert_get_modulus($str_crt, $decode = true, $type = "crt") { } return $modulus; } + +/* Same but returns modulus keysize not modulus itself */ +function cert_get_modulus_keysize($str_crt, $decode = true, $type = "crt") { + // modulus usually returned as "modulus=.....". Remove anything before an "=" and return 4 x (hex string length) + $raw_modulus = explode('=', cert_get_modulus($str_crt, $decode, $type)); + return strlen(array_pop($raw_modulus))*4; +} + function csr_get_modulus($str_crt, $decode = true) { return cert_get_modulus($str_crt, $decode, "csr"); } |