コード例 #1
0
 private function addExtension($oidString, Object $extension)
 {
     $sequence = new Sequence();
     $sequence->addChild(new ObjectIdentifier($oidString));
     $sequence->addChild($extension);
     $this->innerSequence->addChild($sequence);
     $this->extensions[] = $extension;
 }
コード例 #2
0
ファイル: RSAKey.php プロジェクト: rwx-zwx-awx/jose
 /**
  *
  */
 private function initPrivateKey()
 {
     $this->addChild(new Integer(0));
     $oid_sequence = new Sequence();
     $oid_sequence->addChild(new ObjectIdentifier('1.2.840.113549.1.1.1'));
     $oid_sequence->addChild(new NullObject());
     $this->addChild($oid_sequence);
     $v = new Integer(0);
     $n = new Integer($this->fromBase64ToInteger($this->n));
     $e = new Integer($this->fromBase64ToInteger($this->e));
     $d = new Integer($this->fromBase64ToInteger($this->d));
     $p = new Integer($this->fromBase64ToInteger($this->p));
     $q = new Integer($this->fromBase64ToInteger($this->q));
     $dp = new Integer($this->fromBase64ToInteger($this->dp));
     $dq = new Integer($this->fromBase64ToInteger($this->dq));
     $qi = new Integer($this->fromBase64ToInteger($this->qi));
     $key_sequence = new Sequence();
     $key_sequence->addChild($v);
     $key_sequence->addChild($n);
     $key_sequence->addChild($e);
     $key_sequence->addChild($d);
     $key_sequence->addChild($p);
     $key_sequence->addChild($q);
     $key_sequence->addChild($dp);
     $key_sequence->addChild($dq);
     $key_sequence->addChild($qi);
     $key_octet_string = new OctetString(bin2hex($key_sequence->getBinary()));
     $this->addChild($key_octet_string);
 }
コード例 #3
0
ファイル: ECKey.php プロジェクト: spomky-labs/jose
 private function initPublicKey()
 {
     $oid_sequence = new Sequence();
     $oid_sequence->addChild(new ObjectIdentifier('1.2.840.10045.2.1'));
     $oid_sequence->addChild(new ObjectIdentifier($this->getOID($this->values['crv'])));
     $this->addChild($oid_sequence);
     $bits = '04';
     $bits .= bin2hex(Base64Url::decode($this->values['x']));
     $bits .= bin2hex(Base64Url::decode($this->values['y']));
     $this->addChild(new BitString($bits));
 }
コード例 #4
0
ファイル: RSAKey.php プロジェクト: spomky-labs/jose
 private function initPrivateKey()
 {
     $this->addChild(new Integer(0));
     $oid_sequence = new Sequence();
     $oid_sequence->addChild(new ObjectIdentifier('1.2.840.113549.1.1.1'));
     $oid_sequence->addChild(new NullObject());
     $this->addChild($oid_sequence);
     $v = new Integer(0);
     $n = new Integer($this->fromBase64ToInteger($this->values['n']));
     $e = new Integer($this->fromBase64ToInteger($this->values['e']));
     $d = new Integer($this->fromBase64ToInteger($this->values['d']));
     $p = new Integer($this->fromBase64ToInteger($this->values['p']));
     $q = new Integer($this->fromBase64ToInteger($this->values['q']));
     $dp = array_key_exists('dp', $this->values) ? new Integer($this->fromBase64ToInteger($this->values['dp'])) : new Integer(0);
     $dq = array_key_exists('dq', $this->values) ? new Integer($this->fromBase64ToInteger($this->values['dq'])) : new Integer(0);
     $qi = array_key_exists('qi', $this->values) ? new Integer($this->fromBase64ToInteger($this->values['qi'])) : new Integer(0);
     $key_sequence = new Sequence();
     $key_sequence->addChild($v);
     $key_sequence->addChild($n);
     $key_sequence->addChild($e);
     $key_sequence->addChild($d);
     $key_sequence->addChild($p);
     $key_sequence->addChild($q);
     $key_sequence->addChild($dp);
     $key_sequence->addChild($dq);
     $key_sequence->addChild($qi);
     $key_octet_string = new OctetString(bin2hex($key_sequence->getBinary()));
     $this->addChild($key_octet_string);
 }