Red Hat Application Migration Toolkit
package iaik.x509.extensions;
import iaik.asn1.ASN;
import iaik.asn1.ASN1Object;
import iaik.asn1.BOOLEAN;
import iaik.asn1.INTEGER;
import iaik.asn1.ObjectID;
import iaik.asn1.SEQUENCE;
import iaik.x509.V3Extension;
import iaik.x509.X509ExtensionException;
import java.math.BigInteger;
public class BasicConstraints extends V3Extension {
private int a = -1;
private boolean b = false;
public static final ObjectID oid = new ObjectID("2.5.29.19", "BasicConstraints");
public String toString() {
StringBuffer var1 = new StringBuffer();
var1.append("CA: ").append(this.b?"yes":"no").append("\n");
if(this.a >= 0) {
var1.append("PathLenConstraint: ");
var1.append((new Integer(this.a)).toString() + "\n");
}
var1.setLength(var1.length() - 1);
return var1.toString();
}
public ASN1Object toASN1Object() {
SEQUENCE var1 = new SEQUENCE();
if(this.b) {
var1.addComponent(new BOOLEAN(this.b));
}
if(this.a != -1) {
var1.addComponent(new INTEGER(this.a));
}
return var1;
}
public void setPathLenConstraint(int var1) {
this.a = var1;
}
public void setCa(boolean var1) {
this.b = var1;
}
public void init(ASN1Object var1) throws X509ExtensionException {
try {
for(int var2 = 0; var2 < var1.countComponents(); ++var2) {
ASN1Object var3 = var1.getComponentAt(var2);
if(var3.isA(ASN.BOOLEAN)) {
this.b = ((Boolean)var3.getValue()).booleanValue();
} else if(var3.isA(ASN.INTEGER)) {
this.a = ((BigInteger)var3.getValue()).intValue();
}
}
} catch (Exception var4) {
throw new X509ExtensionException(var4.toString());
}
}
public int hashCode() {
return oid.hashCode();
}
public int getPathLenConstraint() {
return this.a;
}
public ObjectID getObjectID() {
return oid;
}
public boolean ca() {
return this.b;
}
public BasicConstraints(boolean var1, int var2) {
this.b = var1;
this.a = var2;
}
public BasicConstraints(boolean var1) {
this.b = var1;
}
public BasicConstraints() {
}
}