Exemplo n.º 1
0
 /**
  * Decrypt and verify given string
  * 
  * @param string $string
  * @param string $keyPassword
  * @param string $keyID
  * @return array|false
  */
 public static function decryptAndVerify($string, $keyPassword = null, $keyID = null)
 {
     $gpg = new Crypt_GPG();
     if ($keyID === null) {
         $keyID = ConfigManager::getConfig("Crypto", "GPG")->AuxConfig->defaultKey;
     }
     if ($keyPassword === null) {
         $keyPassword = ConfigManager::getConfig("Crypto", "GPG")->AuxConfig->defaultKeyPasswd;
     }
     $gpg->addDecryptKey($keyID, $keyPassword);
     $result = $gpg->decryptAndVerify($string);
     if (empty($result['data']) and empty($result['signatures'])) {
         return false;
     }
     if (isset($result['signatures'][0])) {
         $result['signature'] = $result['signatures'][0]->isValid();
         unset($result['signatures']);
     }
     return $result;
 }