Exemple #1
0
 /**
  * Initialize from ASN.1.
  *
  * @param Sequence $seq
  */
 public static function fromASN1(Sequence $seq)
 {
     $cert_id = null;
     $entity_name = null;
     $digest_info = null;
     if ($seq->hasTagged(0)) {
         $cert_id = IssuerSerial::fromASN1($seq->getTagged(0)->asImplicit(Element::TYPE_SEQUENCE)->asSequence());
     }
     if ($seq->hasTagged(1)) {
         $entity_name = GeneralNames::fromASN1($seq->getTagged(1)->asImplicit(Element::TYPE_SEQUENCE)->asSequence());
     }
     if ($seq->hasTagged(2)) {
         $digest_info = ObjectDigestInfo::fromASN1($seq->getTagged(2)->asImplicit(Element::TYPE_SEQUENCE)->asSequence());
     }
     $obj = new self($cert_id, $entity_name);
     $obj->_objectDigestInfo = $digest_info;
     return $obj;
 }
Exemple #2
0
 /**
  * Initialize from ASN.1.
  *
  * @param Sequence $seq
  * @return self
  */
 public static function fromV2ASN1(Sequence $seq)
 {
     $issuer = null;
     $cert_id = null;
     $digest_info = null;
     if ($seq->has(0, Element::TYPE_SEQUENCE)) {
         $issuer = GeneralNames::fromASN1($seq->at(0)->asSequence());
     }
     if ($seq->hasTagged(0)) {
         $cert_id = IssuerSerial::fromASN1($seq->getTagged(0)->asImplicit(Element::TYPE_SEQUENCE)->asSequence());
     }
     if ($seq->hasTagged(1)) {
         $digest_info = ObjectDigestInfo::fromASN1($seq->getTagged(1)->asImplicit(Element::TYPE_SEQUENCE)->asSequence());
     }
     $obj = new self($issuer);
     $obj->_baseCertificateID = $cert_id;
     $obj->_objectDigestInfo = $digest_info;
     return $obj;
 }