private function addExtension($oidString, Object $extension) { $sequence = new Sequence(); $sequence->addChild(new ObjectIdentifier($oidString)); $sequence->addChild($extension); $this->innerSequence->addChild($sequence); $this->extensions[] = $extension; }
/** * */ 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); }
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)); }
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); }