/**
* Copyright (c) 2009 - 2012 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
* implied, including the implied warranties of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
* along with this software; if not, see
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
*
* Red Hat trademarks are not licensed under GPLv2. No permission is
* granted to use or replicate Red Hat trademarks that are incorporated
* in this software or its documentation.
*/
package org.candlepin.util;
import java.util.HashMap;
import java.util.Map;
/**
* implements the OID structure found here
* https://docspace.corp.redhat.com/clearspace/docs/DOC-30244
*
* @author jomara
*/
public final class OIDUtil {
private OIDUtil() {
}
public static final String REDHAT_OID = "1.3.6.1.4.1.2312.9";
public static final String SYSTEM_NAMESPACE_KEY = "System";
public static final String ORDER_NAMESPACE_KEY = "Order";
public static final String CHANNEL_FAMILY_NAMESPACE_KEY = "Channel Family";
public static final String ROLE_ENT_NAMESPACE_KEY = "Role Entitlement";
public static final String PRODUCT_CERT_NAMESPACE_KEY = "Product";
public static final String ENTITLEMENT_VERSION_KEY = "Entitlement Version";
public static final String ENTITLEMENT_DATA_KEY = "Entitlement Data";
public static final String ENTITLEMENT_TYPE_KEY = "Entitlement Type";
public static final String UUID_KEY = "UUID";
public static final String HOST_UUID_KEY = "Host UUID";
public static final String ORDER_NAME_KEY = "Name";
public static final String ORDER_NUMBER_KEY = "Order Number";
public static final String ORDER_CONTRACT_NUMBER_KEY = "Contract Number";
public static final String ORDER_QUANTITY_USED = "Quantity Used";
public static final String ORDER_SKU_KEY = "SKU";
public static final String ORDER_SUBSCRIPTION_NUMBER_KEY = "Subscription Number";
public static final String ORDER_QUANTITY_KEY = "Quantity";
public static final String ORDER_STARTDATE_KEY = "Entitlement Start Date";
public static final String ORDER_ENDDATE_KEY = "Entitlement End Date";
public static final String ORDER_VIRTLIMIT_KEY = "Virtualization Limit";
public static final String ORDER_SOCKETLIMIT_KEY = "Socket Limit";
public static final String ORDER_WARNING_PERIOD = "Warning Period";
public static final String ORDER_ACCOUNT_NUMBER_KEY = "Account Number";
public static final String ORDER_PROVIDES_MANAGEMENT_KEY = "Provides Management";
public static final String ORDER_SUPPORT_LEVEL = "Support Level";
public static final String ORDER_SUPPORT_TYPE = "Support Type";
public static final String ORDER_STACKING_ID = "Stacking Id";
public static final String ORDER_VIRT_ONLY_KEY = "Virt Only";
public static final String OP_NAME_KEY = "Name";
public static final String OP_VERSION_KEY = "Version";
public static final String OP_ARCH_KEY = "Architecture";
public static final String OP_PROVIDES_KEY = "Provides";
public static final String OP_BRAND_TYPE_KEY = "Brand Type";
public static final String CF_NAME_KEY = "Name";
public static final String CF_LABEL_KEY = "Label";
public static final String CF_PHYS_QUANTITY_KEY = "Physical Entitlement Quantity";
public static final String CF_FLEX_QUANTITY_KEY = "Flex Guest Entitlement Quantity";
public static final String CF_CHANNELS_NAMESPACE = "Channel Namespace";
public static final String CF_VENDOR_ID_KEY = "Vendor ID";
public static final String CF_DOWNLOAD_URL_KEY = "Download URL";
public static final String CF_GPG_URL_KEY = "GPG Key URL";
public static final String CF_ENABLED = "Enabled";
public static final String CF_METADATA_EXPIRE = "Metadata Expire";
public static final String CF_REQUIRED_TAGS = "Required Tags";
public static final String ROLE_NAME_KEY = "Name";
public static final String ROLE_LABEL_KEY = "Label";
public static final String ROLE_QUANTITY_KEY = "Quantity";
public static final String CF_REPO_TYPE_FILE_KEY = "file";
public static final String CF_REPO_TYPE_YUM_KEY = "yum";
public static final String CF_REPO_TYPE_KICKSTART_KEY = "kickstart";
public static final Map<String, String> SYSTEM_OIDS = new HashMap<String, String>();
public static final Map<String, String> ORDER_OIDS = new HashMap<String, String>();
public static final Map<String, String> ORDER_PRODUCT_OIDS =
new HashMap<String, String>();
public static final Map<String, String> TOPLEVEL_NAMESPACES =
new HashMap<String, String>();
public static final Map<String, String> CONTENT_ENTITLEMENT_OIDS =
new HashMap<String, String>();
public static final Map<String, String> ROLE_ENTITLEMENT_OIDS =
new HashMap<String, String>();
public static final Map<String, String> CONTENT_ENTITLEMENT_NAMESPACES =
new HashMap<String, String>();
public static final Map<String, String> SERVER_ENTITLEMENT_NAMESPACES =
new HashMap<String, String>();
public static final Map<String, String> CONTENT_ARCHITECTURES =
new HashMap<String, String>();
public static final Map<String, String> CHANNEL_FAMILY_OIDS =
new HashMap<String, String>();
public static final Map<String, String> CHANNEL_OIDS = new HashMap<String, String>();
public static final Map<String, String> CF_REPO_TYPE = new HashMap<String, String>();
static {
// load top level namespaces
TOPLEVEL_NAMESPACES.put(PRODUCT_CERT_NAMESPACE_KEY, "1");
TOPLEVEL_NAMESPACES.put(CHANNEL_FAMILY_NAMESPACE_KEY, "2");
TOPLEVEL_NAMESPACES.put(ROLE_ENT_NAMESPACE_KEY, "3");
TOPLEVEL_NAMESPACES.put(ORDER_NAMESPACE_KEY, "4");
TOPLEVEL_NAMESPACES.put(SYSTEM_NAMESPACE_KEY, "5");
TOPLEVEL_NAMESPACES.put(ENTITLEMENT_VERSION_KEY, "6");
TOPLEVEL_NAMESPACES.put(ENTITLEMENT_DATA_KEY, "7");
TOPLEVEL_NAMESPACES.put(ENTITLEMENT_TYPE_KEY, "8");
// system OIDs
SYSTEM_OIDS.put(UUID_KEY, "1");
SYSTEM_OIDS.put(HOST_UUID_KEY, "2");
// order OIDs
ORDER_OIDS.put(ORDER_NAME_KEY, "1");
ORDER_OIDS.put(ORDER_NUMBER_KEY, "2");
ORDER_OIDS.put(ORDER_SKU_KEY, "3");
ORDER_OIDS.put(ORDER_SUBSCRIPTION_NUMBER_KEY, "4");
ORDER_OIDS.put(ORDER_QUANTITY_KEY, "5");
ORDER_OIDS.put(ORDER_STARTDATE_KEY, "6");
ORDER_OIDS.put(ORDER_ENDDATE_KEY, "7");
ORDER_OIDS.put(ORDER_VIRTLIMIT_KEY, "8");
ORDER_OIDS.put(ORDER_SOCKETLIMIT_KEY, "9");
ORDER_OIDS.put(ORDER_CONTRACT_NUMBER_KEY, "10");
ORDER_OIDS.put(ORDER_QUANTITY_USED, "11");
ORDER_OIDS.put(ORDER_WARNING_PERIOD, "12");
ORDER_OIDS.put(ORDER_ACCOUNT_NUMBER_KEY, "13");
ORDER_OIDS.put(ORDER_PROVIDES_MANAGEMENT_KEY, "14");
ORDER_OIDS.put(ORDER_SUPPORT_LEVEL, "15");
ORDER_OIDS.put(ORDER_SUPPORT_TYPE, "16");
ORDER_OIDS.put(ORDER_STACKING_ID, "17");
ORDER_OIDS.put(ORDER_VIRT_ONLY_KEY, "18");
// load order product OIDs
ORDER_PRODUCT_OIDS.put(OP_NAME_KEY, "1");
ORDER_PRODUCT_OIDS.put(OP_VERSION_KEY, "2");
ORDER_PRODUCT_OIDS.put(OP_ARCH_KEY, "3");
ORDER_PRODUCT_OIDS.put(OP_PROVIDES_KEY, "4");
ORDER_PRODUCT_OIDS.put(OP_BRAND_TYPE_KEY, "5");
// role entitlement OIDs
ROLE_ENTITLEMENT_OIDS.put(ROLE_NAME_KEY, "1");
ROLE_ENTITLEMENT_OIDS.put(ROLE_LABEL_KEY, "2");
ROLE_ENTITLEMENT_OIDS.put(ROLE_QUANTITY_KEY, "3");
// channel family OIDs
CHANNEL_FAMILY_OIDS.put(CF_NAME_KEY, "1");
CHANNEL_FAMILY_OIDS.put(CF_LABEL_KEY, "2");
CHANNEL_FAMILY_OIDS.put(CF_PHYS_QUANTITY_KEY, "3");
CHANNEL_FAMILY_OIDS.put(CF_FLEX_QUANTITY_KEY, "4");
CHANNEL_FAMILY_OIDS.put(CF_VENDOR_ID_KEY, "5");
CHANNEL_FAMILY_OIDS.put(CF_DOWNLOAD_URL_KEY, "6");
CHANNEL_FAMILY_OIDS.put(CF_GPG_URL_KEY, "7");
CHANNEL_FAMILY_OIDS.put(CF_ENABLED, "8");
CHANNEL_FAMILY_OIDS.put(CF_METADATA_EXPIRE, "9");
CHANNEL_FAMILY_OIDS.put(CF_REQUIRED_TAGS, "10");
// server entitlement namespaces
// this could come from the RHN DB, but we will wait until we actually
// need it...
SERVER_ENTITLEMENT_NAMESPACES.put("sw_mgr_entitled", "2");
SERVER_ENTITLEMENT_NAMESPACES.put("enterprise_entitled", "3");
SERVER_ENTITLEMENT_NAMESPACES.put("provisioning_entitled", "24");
SERVER_ENTITLEMENT_NAMESPACES.put("nonlinux_entitled", "25");
SERVER_ENTITLEMENT_NAMESPACES.put("monitoring_entitled", "26");
SERVER_ENTITLEMENT_NAMESPACES.put("virtualization_host", "27");
SERVER_ENTITLEMENT_NAMESPACES.put("virtualization_host_platform", "28");
CF_REPO_TYPE.put(CF_REPO_TYPE_YUM_KEY, "1");
CF_REPO_TYPE.put(CF_REPO_TYPE_FILE_KEY, "2");
CF_REPO_TYPE.put(CF_REPO_TYPE_KICKSTART_KEY, "3");
}
// Maybe not the best place for this, but better than relying on bouncycastle for it.
public static final String CRL_NUMBER = "2.5.29.20";
}