OneLogin_Saml2_Utils::formatPrivateKey PHP Method

formatPrivateKey() public static method

Returns a private key (adding header & footer if required).
public static formatPrivateKey ( string $key, boolean $heads = true ) : string
$key string A private key
$heads boolean 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;
    }

Usage Example

Example #1
0
 /**
  * Tests the formatPrivateKey method of the OneLogin_Saml2_Utils
  *
  * @covers OneLogin_Saml2_Utils::formatPrivateKey
  */
 public function testFormatPrivateKey()
 {
     $settingsDir = TEST_ROOT . '/settings/';
     include $settingsDir . 'settings2.php';
     $settings = new OneLogin_Saml2_Settings($settingsInfo);
     $key = $settingsInfo['sp']['privateKey'];
     $this->assertNotContains('-----BEGIN RSA PRIVATE KEY-----', $key);
     $this->assertNotContains('-----END RSA PRIVATE KEY-----', $key);
     $this->assertEquals(strlen($key), 816);
     $formatedKey1 = OneLogin_Saml2_Utils::formatPrivateKey($key);
     $this->assertContains('-----BEGIN RSA PRIVATE KEY-----', $formatedKey1);
     $this->assertContains('-----END RSA PRIVATE KEY-----', $formatedKey1);
     $formatedKey2 = OneLogin_Saml2_Utils::formatPrivateKey($key, true);
     $this->assertEquals($formatedKey1, $formatedKey2);
     $formatedKey3 = OneLogin_Saml2_Utils::formatPrivateKey($key, false);
     $this->assertNotContains('-----BEGIN RSA PRIVATE KEY-----', $formatedKey3);
     $this->assertNotContains('-----END RSA PRIVATE KEY-----', $formatedKey3);
     $this->assertEquals(strlen($key), 816);
 }
All Usage Examples Of OneLogin_Saml2_Utils::formatPrivateKey