
org.globus.gsi.X509Extension Maven / Gradle / Ivy
The newest version!
/*
* Copyright 1999-2010 University of Chicago
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is
* distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied.
*
* See the License for the specific language governing permissions and limitations under the License.
*/
package org.globus.gsi;
import org.globus.util.I18n;
/**
* Represents an X.509 extension. It is used to create X.509 extensions
* and pass them in a map during certificate generation.
*/
public class X509Extension {
protected boolean critical;
protected byte[] value;
protected String oid;
private static I18n i18n =
I18n.getI18n("org.globus.gsi.errors",
X509Extension.class.getClassLoader());
/**
* Creates a X509Extension object with specified oid.
* The extension has no value and is marked as noncritical.
*
* @param oid the oid of the extension
*/
public X509Extension(String oid) {
this(oid, false, null);
}
/**
* Creates a X509Extension object with specified oid and value.
* The extension is marked as noncritical.
*
* @param oid the oid of the extension
* @param value the actual value of the extension (not octet string
* encoded). The value can be null.
*/
public X509Extension(String oid, byte[] value) {
this(oid, false, value);
}
/**
* Creates a X509Extension object with specified oid, critical property,
* and value.
*
* @param oid the oid of the extension
* @param critical the critical value.
* @param value the actual value of the extension (not octet string
* encoded). The value can be null.
*/
public X509Extension(String oid, boolean critical, byte[] value) {
if (oid == null) {
throw new IllegalArgumentException(i18n.getMessage("oidNull"));
}
this.oid = oid;
this.critical = critical;
this.value = value;
}
/**
* Sets the oid of this extension.
*
* @param oid the oid of this extension. Cannot not null.
*/
public void setOid(String oid) {
if (oid == null) {
throw new IllegalArgumentException(i18n.getMessage("oidNull"));
}
this.oid = oid;
}
/**
* Returns the oid of this extension.
*
* @return the oid of this extension. Always non-null.
*/
public String getOid() {
return this.oid;
}
/**
* Sets the extension as critical or noncritical.
*
* @param critical the critical value.
*/
public void setCritical(boolean critical) {
this.critical = critical;
}
/**
* Determines whether or not this extension is critical.
*
* @return true if extension is critical, false otherwise.
*/
public boolean isCritical() {
return this.critical;
}
/**
* Sets the actual value of the extension (not octet string encoded).
*
* @param value the actual value of the extension. Can be null.
*/
public void setValue(byte [] value) {
this.value = value;
}
/**
* Returns the actual value of the extension (not octet string encoded)
*
* @return the actual value of the extension (not octet string encoded).
* Null if value not set.
*/
public byte[] getValue() {
return this.value;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy