/** * Returns a private key (adding header & footer if required). * * @param string $key A private key * @param bool $heads True if we want to include head and footer * * @return string $rsaKey Formatted private key */ public static function formatPrivateKey($key, $heads = true) { $key = str_replace(array("\r", "\r", "\n"), "", $key); if (!empty($key)) { if (strpos($key, '-----BEGIN PRIVATE KEY-----') !== false) { $key = OneLogin_Saml2_Utils::get_string_between($key, '-----BEGIN PRIVATE KEY-----', '-----END PRIVATE KEY-----'); $key = str_replace(' ', '', $key); if ($heads) { $key = "-----BEGIN PRIVATE KEY-----\n" . chunk_split($key, 64, "\n") . "-----END PRIVATE KEY-----\n"; } } else { if (strpos($key, '-----BEGIN RSA PRIVATE KEY-----') !== false) { $key = OneLogin_Saml2_Utils::get_string_between($key, '-----BEGIN RSA PRIVATE KEY-----', '-----END RSA PRIVATE KEY-----'); $key = str_replace(' ', '', $key); if ($heads) { $key = "-----BEGIN RSA PRIVATE KEY-----\n" . chunk_split($key, 64, "\n") . "-----END RSA PRIVATE KEY-----\n"; } } else { $key = str_replace(' ', '', $key); if ($heads) { $key = "-----BEGIN RSA PRIVATE KEY-----\n" . chunk_split($key, 64, "\n") . "-----END RSA PRIVATE KEY-----\n"; } } } } return $key; }