Example #1
0
 public static function parseSubKeyLine($string)
 {
     $tokens = explode(':', $string);
     $subKey = new SubKey();
     $subKey->setId($tokens[4]);
     $subKey->setLength($tokens[2]);
     $subKey->setAlgorithm($tokens[3]);
     $subKey->setCreationDate(self::_parseDate($tokens[5]));
     $subKey->setExpirationDate(self::_parseDate($tokens[6]));
     if (strpos($tokens[1], 'r') !== false) {
         $subKey->setRevoked(true);
     }
     if (strpos($tokens[11], 's') !== false) {
         $subKey->setCanSign(true);
     }
     if (strpos($tokens[11], 'e') !== false) {
         $subKey->setCanEncrypt(true);
     }
     if (strpos($tokens[11], 'c') !== false) {
         //certify
     }
     if (strpos($tokens[11], 'a') !== false) {
         //authentication
     }
     return $subKey;
 }
Example #2
0
 public function getKeys($keyId = null)
 {
     $keys = array();
     $data = $this->getResource()->keyinfo($keyId);
     foreach ($data as $kd) {
         $key = new Key();
         foreach ($kd['subkeys'] as $skd) {
             $subKey = new SubKey();
             $subKey->setCanEncrypt($skd['can_encrypt']);
             $subKey->setCanSign($skd['can_sign']);
             $subKey->setCreationDate($skd['timestamp']);
             $subKey->setExpirationDate($skd['expires']);
             $subKey->setFingerprint($skd['fingerprint']);
             $subKey->setHasPrivate(false);
             $subKey->setId($skd['keyid']);
             $subKey->setRevoked($skd['revoked']);
             $subKey->setDisabled($skd['disabled']);
             //$subKey->setLength($skd['can_encrypt']);
             //$subKey->setAlgorithm();
             $key->addSubKey($subKey);
         }
         foreach ($kd['uids'] as $uid) {
             $userId = new UserId();
             $userId->setName($uid['name']);
             $userId->setComment($uid['comment']);
             $userId->setEmail($uid['email']);
             $userId->setUid($uid['uid']);
             $userId->setIsRevoked($uid['revoked']);
             $userId->setIsValid($uid['invalid'] ? false : true);
             $key->addUserId($userId);
         }
         $keys[] = $key;
     }
     return $keys;
 }