From 4945841d6c574102a8aff465c11c3558d71c0e49 Mon Sep 17 00:00:00 2001 From: stilez Date: Mon, 6 Jun 2016 06:52:13 +0100 Subject: Get modulus keysize Useful utility function when it's necessary to verify that existing keys meets current practices --- src/etc/inc/certs.inc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/etc') 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"); } -- cgit v1.1