package com.l7tech.server.policy.assertion.xmlsec;

import com.l7tech.policy.assertion.xmlsec.XmlSecurityRecipientContext;
import com.l7tech.security.token.SigningSecurityToken;
import com.l7tech.security.token.X509SigningSecurityToken;
import java.security.cert.X509Certificate;

public class AddWssEncryptionContext {
   final X509Certificate a;
   final SigningSecurityToken b;
   final String c;
   final XmlSecurityRecipientContext d;

   AddWssEncryptionContext(X509Certificate var1, SigningSecurityToken var2, String var3, XmlSecurityRecipientContext var4) {
      this.a = var1;
      this.b = var2;
      this.c = var3;
      this.d = var4;
   }

   public boolean isCertificate() {
      return this.a != null || this.b instanceof X509SigningSecurityToken;
   }

   public X509Certificate getCertificate() {
      return this.a != null ? this.a : (this.b instanceof X509SigningSecurityToken ? ((X509SigningSecurityToken)this.b).getMessageSigningCertificate() : null);
   }

   public boolean hasEncryptionKey() {
      return this.a != null || this.b != null;
   }

   public XmlSecurityRecipientContext getRecipientContext() {
      return this.d;
   }
}
