当前位置: 首页>>代码示例>>PHP>>正文


PHP Crypt_RSA::getPublicKey方法代码示例

本文整理汇总了PHP中Crypt_RSA::getPublicKey方法的典型用法代码示例。如果您正苦于以下问题:PHP Crypt_RSA::getPublicKey方法的具体用法?PHP Crypt_RSA::getPublicKey怎么用?PHP Crypt_RSA::getPublicKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Crypt_RSA的用法示例。


在下文中一共展示了Crypt_RSA::getPublicKey方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: fetchOpenIdConfig

 protected function fetchOpenIdConfig()
 {
     try {
         $apiClient = $this->getApiClient();
         $config = $apiClient->get('.well-known/openid-configuration');
         $jwkRes = $apiClient->get($config->jwks_uri);
         $jwks = $jwkRes->keys;
         $keys = [];
         $rsa = new \Crypt_RSA();
         foreach ($jwks as $key) {
             //if x509 key is available, we don't need to generate it below.
             if (!empty($key->x_509)) {
                 $keys[$key->kid] = $key->x_509;
                 continue;
             }
             $public = '<RSAKeyValue>
                  <Modulus>' . $this->base64_from_url($key->n) . '</Modulus>
                  <Exponent>' . $this->base64_from_url($key->e) . '</Exponent>
                </RSAKeyValue>';
             $rsa->loadKey($public, CRYPT_RSA_PUBLIC_FORMAT_XML);
             $rsa->setPublicKey();
             $keys[$key->kid] = $rsa->getPublicKey();
         }
         $config->keys = $keys;
         return $config;
     } catch (SSO\Exception\HttpException $e) {
         throw new OpenIdConfigurationException('OpenID configuration can not be fetched', 0, $e);
     }
 }
开发者ID:AlexTsumarov,项目名称:7pass-php-sdk,代码行数:29,代码来源:Configuration.php

示例2: publicKeyToHex

function publicKeyToHex($privatekey)
{
    $rsa = new Crypt_RSA();
    $rsa->loadKey($privatekey);
    $raw = $rsa->getPublicKey(CRYPT_RSA_PUBLIC_FORMAT_RAW);
    return $raw['n']->toHex();
}
开发者ID:tempbottle,项目名称:phpseclib-jsbn-rsa,代码行数:7,代码来源:index.php

示例3: CryptRSA

 /**
  * @return \Crypt_RSA|null
  */
 public static function CryptRSA()
 {
     if (null === \RainLoop\Utils::$RSA) {
         if (!\defined('_phpseclib_')) {
             \set_include_path(\get_include_path() . PATH_SEPARATOR . APP_VERSION_ROOT_PATH . 'app/libraries/phpseclib');
             define('_phpseclib_', true);
         }
         if (!\class_exists('Crypt_RSA', false)) {
             include_once 'Crypt/RSA.php';
             \defined('CRYPT_RSA_MODE') || \define('CRYPT_RSA_MODE', CRYPT_RSA_MODE_INTERNAL);
         }
         if (\class_exists('Crypt_RSA')) {
             $oRsa = new \Crypt_RSA();
             $oRsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
             $oRsa->setPrivateKeyFormat(CRYPT_RSA_PRIVATE_FORMAT_PKCS1);
             $oRsa->setPrivateKeyFormat(CRYPT_RSA_PUBLIC_FORMAT_PKCS1);
             $sPrivateKey = \file_exists(APP_PRIVATE_DATA . 'rsa/private') ? \file_get_contents(APP_PRIVATE_DATA . 'rsa/private') : '';
             if (!empty($sPrivateKey)) {
                 $oRsa->loadKey($sPrivateKey, CRYPT_RSA_PRIVATE_FORMAT_PKCS1);
                 $oRsa->loadKey($oRsa->getPublicKey(), CRYPT_RSA_PUBLIC_FORMAT_PKCS1);
                 \RainLoop\Utils::$RSA = $oRsa;
             }
         }
     }
     return \RainLoop\Utils::$RSA;
 }
开发者ID:rikardonm,项目名称:rainloop-webmail,代码行数:29,代码来源:Utils.php

示例4: Rsa

 public function Rsa()
 {
     $modulus = 'ACD53F4BE9665DF48A2A1E39F4E7CDFAA0833AD986DD09831E519974D4E0228F43D9E58AE9ECEE865093D12E3EA576337C431F95C1C979784B8BDC93F244E072631339E8208CC5DF1377CB10E5018842DA9889856190F339CE8344FA906B67738BE292206EFAB71D33A5FC7EB1C3DBEC2F9A1A59B286C2B30C5E2FA0980D65A9';
     $exponent = '010001';
     $rsa = new Crypt_RSA();
     $modulus = $this->convertion($modulus);
     $exponent = $this->convertion($exponent);
     $rsa->loadKey(array('n' => $modulus, 'e' => $exponent));
     $rsa->setPublicKey();
     return $rsa->getPublicKey();
 }
开发者ID:boscDev,项目名称:tevi,代码行数:11,代码来源:Rsa.class.php

示例5: signMessage

 public function signMessage($privatekey, $message)
 {
     /**
      * Test code:
      * 
      * $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
      * extract($rsa->createKey());
      * $spotSigning = new SpotSigning();
      * $x = $spotSigning->signMessage($privatekey, 'testmessage');
      * var_dump($x);
      * var_dump($spotSigning->checkRsaSignature('testmessage', $x['signature'], $x['publickey']));
      *
      */
     $rsa = new Crypt_RSA();
     $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
     $rsa->loadKey($privatekey);
     # extract de public key
     $signature = $rsa->sign($message);
     $publickey = $rsa->getPublicKey(CRYPT_RSA_PUBLIC_FORMAT_RAW);
     return array('signature' => base64_encode($signature), 'publickey' => array('modulo' => base64_encode($publickey['n']->toBytes()), 'exponent' => base64_encode($publickey['e']->toBytes())), 'message' => $message);
 }
开发者ID:Retired-Coder,项目名称:spotweb,代码行数:21,代码来源:SpotSigning.php

示例6: json_encode

$community = get_community_users($db);
// если мест в пуле нет, то просто запишем юзера в очередь
$pool_max_users = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `pool_max_users`\n\t\t\tFROM `" . DB_PREFIX . "config`\n\t\t\t", 'fetch_one');
if (sizeof($community) >= $pool_max_users) {
    $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tINSERT IGNORE INTO `" . DB_PREFIX . "pool_waiting_list` (\n\t\t\t\t`email`,\n\t\t\t\t`time`,\n\t\t\t\t`user_id`\n\t\t\t)\n\t\t\tVALUES (\n\t\t\t\t\t'{$email}',\n\t\t\t\t\t" . time() . ",\n\t\t\t\t\t{$user_id}\n\t\t\t)");
    die(json_encode(array('error' => $lng['pool_is_full'])));
}
// регистрируем юзера в пуле
// вначале убедитмся, что такой user_id у нас уже не зареган
$community = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `user_id`\n\t\tFROM `" . DB_PREFIX . "community`\n\t\tWHERE `user_id` = {$user_id}\n\t\t", 'fetch_one');
if ($community) {
    die(json_encode(array('error' => $lng['pool_user_id_is_busy'])));
}
$db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tINSERT IGNORE INTO `" . DB_PREFIX . "community` (\n\t\t\t`user_id`\n\t\t)\n\t\tVALUES (\n\t\t\t{$user_id}\n\t\t)");
$rsa = new Crypt_RSA();
$key = array();
$key['e'] = new Math_BigInteger($_POST['e'], 16);
$key['n'] = new Math_BigInteger($_POST['n'], 16);
$rsa->setPublicKey($key, CRYPT_RSA_PUBLIC_FORMAT_RAW);
$PublicKey = clear_public_key($rsa->getPublicKey());
// если таблы my для этого юзера уже есть в БД, то они перезапишутся.
$mysqli_link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT);
$db_name = DB_NAME;
$prefix = DB_PREFIX;
include ABSPATH . 'schema.php';
mysqli_query($mysqli_link, 'SET NAMES "utf8" ');
pool_add_users("{$user_id};{$PublicKey}\n", $my_queries, $mysqli_link, DB_PREFIX, false);
define('MY_PREFIX', $user_id . '_');
$db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tUPDATE `" . DB_PREFIX . MY_PREFIX . "my_table`\n\t\tSET `email` = '{$email}'\n\t\t");
print json_encode(array('success' => $lng['pool_sign_up_success']));
unset($_SESSION['restricted']);
开发者ID:scuba323,项目名称:dcoin,代码行数:31,代码来源:sign_up_in_pool.php

示例7: getPublicKey

 function getPublicKey($privateKey)
 {
     $rsa = new Crypt_RSA();
     $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
     $rsa->loadKey($privateKey);
     # extract de public key
     $publicKey = $rsa->getPublicKey(CRYPT_RSA_PUBLIC_FORMAT_RAW);
     return array('publickey' => array('modulo' => base64_encode($publicKey['n']->toBytes()), 'exponent' => base64_encode($publicKey['e']->toBytes())));
 }
开发者ID:NZBtje,项目名称:spotweb-1,代码行数:9,代码来源:SpotSigning.php

示例8:

<?php

include 'crypt/RSA.php';
$private_key = file_get_contents("../certs/signature_private.key");
$pkeyid = openssl_pkey_get_private($private_key);
#$public_key = file_get_contents("../certs/signature_public.key");
$accountTokenBase64 = base64_encode('{' . "\n\t" . '"ActivationRandomness" = "F34182B4-4FE1-47D2-96F3-5851EF00D28F";' . "\n\t" . '"UniqueDeviceID" = "463fc92a2d3462dec0e2c4f98d445abe46730d6a";' . "\n" . '}');
// compute signature
openssl_sign($accountTokenBase64, $signature, $pkeyid);
$rsa = new Crypt_RSA();
$rsa->loadKey($private_key);
$rsa->loadKey($rsa->getPublicKey());
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
echo 'Signature is ' . ($rsa->verify($accountTokenBase64, $signature) ? 'correct' : 'incorrect');
openssl_free_key($pkeyid);
/*
$pkeyid = openssl_pkey_get_private(file_get_contents("../certs/signature_private.key"));
$public_key = file_get_contents("../certs/signature_public.key");

#$pubkeydetails=openssl_pkey_get_details($pkeyid)["key"];
#$pubkeyid = openssl_pkey_get_public($pubkeydetails);

// compute signature
openssl_sign("test", $signature, $pkeyid);

$result = openssl_verify("test", $signature, $public_key);

echo 'Signature is '.($result == 1 ? 'correct' : $result == 0 ? 'incorrect' : 'erroneous');

openssl_free_key($pkeyid);
#openssl_free_key($pubkeyid);*/
开发者ID:datwsui,项目名称:DoulCi-server2,代码行数:31,代码来源:check-sign.php

示例9: getPublicKey

 function getPublicKey($privateKey)
 {
     $rsa = new Crypt_RSA();
     $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
     $rsa->loadKey($privateKey);
     /*
      * When we load a public key where a private key should
      * be loaded, this makes sure we can use it after all
      */
     if ($rsa->publicExponent == false) {
         $rsa->publicExponent = $rsa->exponent;
     }
     # if
     # extract the public key
     $publicKey = $rsa->getPublicKey(CRYPT_RSA_PUBLIC_FORMAT_RAW);
     return array('modulo' => base64_encode($publicKey['n']->toBytes()), 'exponent' => base64_encode($publicKey['e']->toBytes()));
 }
开发者ID:Ernie69,项目名称:spotweb,代码行数:17,代码来源:Services_Signing_Base.php

示例10: generateInitialJSCode


//.........这里部分代码省略.........
                 $context['key'] = $defaultKey;
             }
             $items[] = $context;
         }
         $datasource = $items;
     }
     /*
      * Determine the uri of myself
      */
     if (isset($callURL)) {
         $pathToMySelf = $callURL;
     } else {
         if (isset($scriptPathPrefix) || isset($scriptPathSuffix)) {
             $pathToMySelf = (isset($scriptPathPrefix) ? $scriptPathPrefix : '') . $_SERVER['SCRIPT_NAME'] . (isset($scriptPathSufix) ? $scriptPathSuffix : '');
         } else {
             $pathToMySelf = $_SERVER['SCRIPT_NAME'];
         }
     }
     $this->generateAssignJS("INTERMediatorOnPage.getEntryPath", "function(){return {$q}{$pathToMySelf}{$q};}");
     $this->generateAssignJS("INTERMediatorOnPage.getDataSources", "function(){return ", arrayToJSExcluding($datasource, '', array('password')), ";}");
     $this->generateAssignJS("INTERMediatorOnPage.getOptionsAliases", "function(){return ", arrayToJS(isset($options['aliases']) ? $options['aliases'] : array(), ''), ";}");
     $this->generateAssignJS("INTERMediatorOnPage.getOptionsTransaction", "function(){return ", arrayToJS(isset($options['transaction']) ? $options['transaction'] : '', ''), ";}");
     $this->generateAssignJS("INTERMediatorOnPage.getDBSpecification", "function(){return ", arrayToJSExcluding($dbspecification, '', array('dsn', 'option', 'database', 'user', 'password', 'server', 'port', 'protocol', 'datatype')), ";}");
     $isEmailAsUsernae = isset($options['authentication']) && isset($options['authentication']['email-as-username']) && $options['authentication']['email-as-username'] === true;
     $this->generateAssignJS("INTERMediatorOnPage.isEmailAsUsername", $isEmailAsUsernae ? "true" : "false");
     $messageClass = null;
     if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) {
         $clientLangArray = explode(',', $_SERVER["HTTP_ACCEPT_LANGUAGE"]);
         foreach ($clientLangArray as $oneLanguage) {
             $langCountry = explode(';', $oneLanguage);
             if (strlen($langCountry[0]) > 0) {
                 $clientLang = explode('-', $langCountry[0]);
                 $messageClass = "MessageStrings_{$clientLang['0']}";
                 if (file_exists("{$currentDir}{$messageClass}.php")) {
                     $messageClass = new $messageClass();
                     break;
                 }
             }
             $messageClass = null;
         }
     }
     if ($messageClass == null) {
         require_once 'MessageStrings.php';
         $messageClass = new MessageStrings();
     }
     $this->generateAssignJS("INTERMediatorOnPage.getMessages", "function(){return ", arrayToJS($messageClass->getMessages(), ''), ";}");
     if (isset($options['browser-compatibility'])) {
         $browserCompatibility = $options['browser-compatibility'];
     }
     $this->generateAssignJS("INTERMediatorOnPage.browserCompatibility", "function(){return ", arrayToJS($browserCompatibility, ''), ";}");
     $clientIdSeed = time() + $_SERVER['REMOTE_ADDR'] + mt_rand();
     $randomSecret = mt_rand();
     $clientId = hash_hmac('sha256', $clientIdSeed, $randomSecret);
     $this->generateAssignJS("INTERMediatorOnPage.clientNotificationIdentifier", "function(){return ", arrayToJS($clientId, ''), ";}");
     $pusherParams = null;
     if (isset($pusherParameters)) {
         $pusherParams = $pusherParameters;
     } else {
         if (isset($options['pusher'])) {
             $pusherParams = $options['pusher'];
         }
     }
     if (!is_null($pusherParams)) {
         $appKey = isset($pusherParams['key']) ? $pusherParams['key'] : "_im_key_isnt_supplied";
         $chName = isset($pusherParams['channel']) ? $pusherParams['channel'] : "_im_pusher_default_channel";
         $this->generateAssignJS("INTERMediatorOnPage.clientNotificationKey", "function(){return ", arrayToJS($appKey, ''), ";}");
         $this->generateAssignJS("INTERMediatorOnPage.clientNotificationChannel", "function(){return ", arrayToJS($chName, ''), ";}");
     }
     if (isset($prohibitDebugMode) && $prohibitDebugMode) {
         $this->generateAssignJS("INTERMediator.debugMode", "false");
     } else {
         $this->generateAssignJS("INTERMediator.debugMode", $debug === false ? "false" : $debug);
     }
     // Check Authentication
     $boolValue = "false";
     $requireAuthenticationContext = array();
     if (isset($options['authentication'])) {
         $boolValue = "true";
     }
     foreach ($datasource as $aContext) {
         if (isset($aContext['authentication'])) {
             $boolValue = "true";
             $requireAuthenticationContext[] = $aContext['name'];
         }
     }
     $this->generateAssignJS("INTERMediatorOnPage.requireAuthentication", $boolValue);
     $this->generateAssignJS("INTERMediatorOnPage.authRequiredContext", arrayToJS($requireAuthenticationContext, ''));
     $this->generateAssignJS("INTERMediatorOnPage.isNativeAuth", isset($options['authentication']) && isset($options['authentication']['user']) && $options['authentication']['user'][0] === 'database_native' ? "true" : "false");
     $this->generateAssignJS("INTERMediatorOnPage.authStoring", $q, isset($options['authentication']) && isset($options['authentication']['storing']) ? $options['authentication']['storing'] : 'cookie', $q);
     $this->generateAssignJS("INTERMediatorOnPage.authExpired", isset($options['authentication']) && isset($options['authentication']['authexpired']) ? $options['authentication']['authexpired'] : '3600');
     $this->generateAssignJS("INTERMediatorOnPage.realm", $q, isset($options['authentication']) && isset($options['authentication']['realm']) ? $options['authentication']['realm'] : '', $q);
     if (isset($generatedPrivateKey)) {
         $rsa = new Crypt_RSA();
         $rsa->setPassword($passPhrase);
         $rsa->loadKey($generatedPrivateKey);
         $rsa->setPassword();
         $publickey = $rsa->getPublicKey(CRYPT_RSA_PUBLIC_FORMAT_RAW);
         $this->generateAssignJS("INTERMediatorOnPage.publickey", "new biRSAKeyPair('", $publickey['e']->toHex(), "','0','", $publickey['n']->toHex(), "')");
     }
 }
开发者ID:haya-sann,项目名称:INTER-Mediator_WebSite,代码行数:101,代码来源:GenerateJSCode.php

示例11:

<?php

echo "test";
include 'fullRSA.php';
$key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtixUGzGpLXgZ7AV1HfmIHV/FEF+fww77FekRc2oLhUOd4HitwCPo76fjtdsQBEt8w9HZ3CXVphaAU2BA6MEZJ3ShVMsdAXb2ZA1C+lu7k1GV9M/BhucTg35HujSK647Sc5MwVLwFsN80dAnGsZF8gwb2TNUzXHwzbAb30T01zuqf8RCM75OwKZFYqzu7FOVrtk/w9mh92MOXG0l7WSqNIctu8Kxka/tEJJIA5nqMGNMocjwprXy66NS7FFy1GY+NnxfFLtODqq0tllc50UCDsnqSvNmj2wcnAcsCzNOoxPPgp7t8S+sQvOzgc5W3CDjIsYEiGD+vzSVNkGiRou577wIDAQAB';
$rsa = new Crypt_RSA();
$rsa->loadKey($key);
$rsa->setPublicKey($key);
echo $rsa->getPublicKey();
//$rsa = new MyEncryption();
echo "test";
//echo "encr: ".$rsa->encrypt("lo omg 6");
开发者ID:Leuteris,项目名称:Blank,代码行数:12,代码来源:RSA.php

示例12: generateInitialJSCode


//.........这里部分代码省略.........
             $browserCompatibility[strtolower($browser)] = $browserCompatibility[$browser];
             unset($browserCompatibility[$browser]);
         }
     }
     $this->generateAssignJS("INTERMediatorOnPage.browserCompatibility", "function(){return ", arrayToJS($browserCompatibility, ''), ";}");
     $remoteAddr = filter_var($_SERVER['REMOTE_ADDR']);
     if (is_null($remoteAddr) || $remoteAddr === FALSE) {
         $remoteAddr = '0.0.0.0';
     }
     $clientIdSeed = time() + $remoteAddr + mt_rand();
     $randomSecret = mt_rand();
     $clientId = hash_hmac('sha256', $clientIdSeed, $randomSecret);
     $this->generateAssignJS("INTERMediatorOnPage.clientNotificationIdentifier", "function(){return ", arrayToJS($clientId, ''), ";}");
     if ($nonSupportMessageId != "") {
         $this->generateAssignJS("INTERMediatorOnPage.nonSupportMessageId", "{$q}{$nonSupportMessageId}{$q}");
     }
     $pusherParams = null;
     if (isset($pusherParameters)) {
         $pusherParams = $pusherParameters;
     } else {
         if (isset($options['pusher'])) {
             $pusherParams = $options['pusher'];
         }
     }
     if (!is_null($pusherParams)) {
         $appKey = isset($pusherParams['key']) ? $pusherParams['key'] : "_im_key_isnt_supplied";
         $chName = isset($pusherParams['channel']) ? $pusherParams['channel'] : "_im_pusher_default_channel";
         $this->generateAssignJS("INTERMediatorOnPage.clientNotificationKey", "function(){return ", arrayToJS($appKey, ''), ";}");
         $this->generateAssignJS("INTERMediatorOnPage.clientNotificationChannel", "function(){return ", arrayToJS($chName, ''), ";}");
     }
     $metadata = json_decode(file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . "metadata.json"));
     $this->generateAssignJS("INTERMediatorOnPage.metadata", "{version:{$q}{$metadata->version}{$q},releasedate:{$q}{$metadata->releasedate}{$q}}");
     if (isset($prohibitDebugMode) && $prohibitDebugMode) {
         $this->generateAssignJS("INTERMediator.debugMode", "false");
     } else {
         $this->generateAssignJS("INTERMediator.debugMode", $debug === false ? "false" : $debug);
     }
     // Check Authentication
     $boolValue = "false";
     $requireAuthenticationContext = array();
     if (isset($options['authentication'])) {
         $boolValue = "true";
     }
     foreach ($datasource as $aContext) {
         if (isset($aContext['authentication'])) {
             $boolValue = "true";
             $requireAuthenticationContext[] = $aContext['name'];
         }
     }
     $this->generateAssignJS("INTERMediatorOnPage.requireAuthentication", $boolValue);
     $this->generateAssignJS("INTERMediatorOnPage.authRequiredContext", arrayToJS($requireAuthenticationContext, ''));
     $ldap = new LDAPAuth();
     // for PHP 5.2, 5.3
     $this->generateAssignJS("INTERMediatorOnPage.isLDAP", $ldap->isActive ? "true" : "false");
     $this->generateAssignJS("INTERMediatorOnPage.isOAuthAvailable", isset($oAuthProvider) ? "true" : "false");
     $authObj = new OAuthAuth();
     if ($authObj->isActive) {
         $this->generateAssignJS("INTERMediatorOnPage.oAuthClientID", $q, $oAuthClientID, $q);
         $this->generateAssignJS("INTERMediatorOnPage.oAuthBaseURL", $q, $authObj->oAuthBaseURL(), $q);
         $this->generateAssignJS("INTERMediatorOnPage.oAuthRedirect", $q, $oAuthRedirect, $q);
         $this->generateAssignJS("INTERMediatorOnPage.oAuthScope", $q, implode(' ', $authObj->infoScope()), $q);
     }
     $this->generateAssignJS("INTERMediatorOnPage.isNativeAuth", isset($options['authentication']) && isset($options['authentication']['user']) && $options['authentication']['user'][0] === 'database_native' ? "true" : "false");
     $this->generateAssignJS("INTERMediatorOnPage.authStoring", $q, isset($options['authentication']) && isset($options['authentication']['storing']) ? $options['authentication']['storing'] : 'cookie', $q);
     $this->generateAssignJS("INTERMediatorOnPage.authExpired", isset($options['authentication']) && isset($options['authentication']['authexpired']) ? $options['authentication']['authexpired'] : '3600');
     $this->generateAssignJS("INTERMediatorOnPage.realm", $q, isset($options['authentication']) && isset($options['authentication']['realm']) ? $options['authentication']['realm'] : '', $q);
     if (isset($generatedPrivateKey)) {
         $rsa = new Crypt_RSA();
         $rsa->setPassword($passPhrase);
         $rsa->loadKey($generatedPrivateKey);
         $rsa->setPassword();
         $publickey = $rsa->getPublicKey(CRYPT_RSA_PUBLIC_FORMAT_RAW);
         $this->generateAssignJS("INTERMediatorOnPage.publickey", "new biRSAKeyPair('", $publickey['e']->toHex(), "','0','", $publickey['n']->toHex(), "')");
         if (in_array(sha1($generatedPrivateKey), array('413351603fa756ecd8270147d1a84e9a2de2a3f9', '094f61a9db51e0159fb0bf7d02a321d37f29a715')) && isset($_SERVER['SERVER_ADDR']) && $_SERVER['SERVER_ADDR'] !== '192.168.56.101') {
             $this->generateDebugMessageJS('Please change the value of $generatedPrivateKey in params.php.');
         }
     }
     if (isset($passwordPolicy)) {
         $this->generateAssignJS("INTERMediatorOnPage.passwordPolicy", $q, $passwordPolicy, $q);
     } else {
         if (isset($options["authentication"]) && isset($options["authentication"]["password-policy"])) {
             $this->generateAssignJS("INTERMediatorOnPage.passwordPolicy", $q, $options["authentication"]["password-policy"], $q);
         }
     }
     if (isset($options['credit-including'])) {
         $this->generateAssignJS("INTERMediatorOnPage.creditIncluding", $q, $options['credit-including'], $q);
     }
     // Initial values for local context
     if (!isset($valuesForLocalContext)) {
         $valuesForLocalContext = array();
     }
     if (isset($options['local-context'])) {
         foreach ($options['local-context'] as $item) {
             $valuesForLocalContext[$item['key']] = $item['value'];
         }
     }
     if (isset($valuesForLocalContext) && is_array($valuesForLocalContext) && count($valuesForLocalContext) > 0) {
         $this->generateAssignJS("INTERMediatorOnPage.initLocalContext", arrayToJS($valuesForLocalContext));
     }
 }
开发者ID:haya-sann,项目名称:INTER-Mediator,代码行数:101,代码来源:GenerateJSCode.php

示例13: testSetPrivate

    public function testSetPrivate()
    {
        $rsa = new Crypt_RSA();
        $key = '-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA61BjmfXGEvWmegnBGSuS+rU9soUg2FnODva32D1AqhwdziwHINFa
D1MVlcrYG6XRKfkcxnaXGfFDWHLEvNBSEVCgJjtHAGZIm5GL/KA86KDp/CwDFMSw
luowcXwDwoyinmeOY9eKyh6aY72xJh7noLBBq1N0bWi1e2i+83txOCg4yV2oVXhB
o8pYEJ8LT3el6Smxol3C1oFMVdwPgc0vTl25XucMcG/ALE/KNY6pqC2AQ6R2ERlV
gPiUWOPatVkt7+Bs3h5Ramxh7XjBOXeulmCpGSynXNcpZ/06+vofGi/2MlpQZNhH
Ao8eayMp6FcvNucIpUndo1X8dKMv3Y26ZQIDAQAB
-----END RSA PUBLIC KEY-----';
        $this->assertTrue($rsa->loadKey($key));
        $this->assertTrue($rsa->setPrivateKey());
        $this->assertGreaterThanOrEqual(1, strlen("{$rsa}"));
        $this->assertFalse($rsa->getPublicKey());
    }
开发者ID:tamboer,项目名称:LaravelOctober,代码行数:16,代码来源:LoadKeyTest.php

示例14: jwkToPem

function jwkToPem($jwk)
{
    $modulus = new Math_BigInteger(base64url_decode($jwk['n']), 256);
    $exponent = new Math_BigInteger(base64_decode($jwk['e']), 256);
    $rsa = new Crypt_RSA();
    $rsa->loadKey(array('n' => $modulus, 'e' => $exponent));
    $rsa->setPublicKey();
    return str_replace("\r", "", $rsa->getPublicKey());
    // This shit is written for DOS
}
开发者ID:smutt,项目名称:HOBA-server,代码行数:10,代码来源:crypto.php

示例15: testSignedPKCS1

    /**
     * @group github468
     */
    public function testSignedPKCS1()
    {
        $rsa = new Crypt_RSA();
        $key = '-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/k7FwSDE9R9rvTU2nGdJwKaVG
RvBIYGJNahseQhZkQH4CVFMdpWhmD8PyXpjNHtV1CJ0bqAX6e5QyNjvl0FeBj9dz
JWrQdxx/WNN+ABG426rgYYbeGcIlWLZCw6Bx/1HtN5ef6nVEoiGNChYKIRB4QFOi
01smFxps1w8ZIQnD6wIDAQAB
-----END PUBLIC KEY-----';
        $rsa->loadKey($key);
        $rsa->setPublicKey();
        $newkey = $rsa->getPublicKey();
        $this->assertSame(preg_replace('#\\s#', '', $key), preg_replace('#\\s#', '', $newkey));
    }
开发者ID:anthrotech,项目名称:laravel_sample,代码行数:17,代码来源:LoadKeyTest.php


注:本文中的Crypt_RSA::getPublicKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。