package com.l7tech.security.xml.processor;

import com.l7tech.security.token.SecurityTokenType;
import com.l7tech.security.token.X509SecurityToken;
import com.l7tech.security.xml.DsigUtil;
import com.l7tech.xml.saml.SamlAssertion;
import java.security.SignatureException;
import java.security.cert.X509Certificate;
import org.w3c.dom.Element;

public final class EmbeddedSamlSignatureToken extends f implements X509SecurityToken {
   private final SamlAssertion c;
   private final String d;
   private final String[] e;

   public EmbeddedSamlSignatureToken(SamlAssertion var1) throws SignatureException {
      super(null);
      this.c = var1;
      this.d = DsigUtil.findSigAlgorithm(var1.getEmbeddedIssuerSignature());
      this.e = DsigUtil.findDigestAlgorithms(var1.getEmbeddedIssuerSignature());
      this.addSignedElement(new b(this, var1));
   }

   @Override
   public X509Certificate getCertificate() {
      return this.c.getIssuerCertificate();
   }

   @Override
   public boolean isPossessionProved() {
      return false;
   }

   @Override
   public SecurityTokenType getType() {
      return SecurityTokenType.WSS_X509_BST;
   }

   @Override
   public String getElementId() {
      return this.c.getElementId();
   }

   @Override
   public Element asElement() {
      return this.c.asElement();
   }

   @Override
   public void dispose() {
      super.dispose();
      this.c.dispose();
   }
}
