⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x509name.java

📁 进行与数字证书相关开发必须的java源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            StringBuffer v1 = new StringBuffer();
            StringBuffer v2 = new StringBuffer();
            if(_val.length() != 0)
            {
                char c1 = _val.charAt(0);
                v1.append(c1);
                for(int k = 1; k < _val.length(); k++)
                {
                    char c2 = _val.charAt(k);
                    if(c1 != ' ' || c2 != ' ')
                        v1.append(c2);
                    c1 = c2;
                }

            }
            if(_oVal.length() != 0)
            {
                char c1 = _oVal.charAt(0);
                v2.append(c1);
                for(int k = 1; k < _oVal.length(); k++)
                {
                    char c2 = _oVal.charAt(k);
                    if(c1 != ' ' || c2 != ' ')
                        v2.append(c2);
                    c1 = c2;
                }

            }
            if(!v1.toString().equals(v2.toString()))
                return false;
        }

        return true;
    }

    public boolean equals(Object _obj)
    {
        if(_obj == this)
            return true;
        if(_obj == null || !(_obj instanceof X509Name))
            return false;
        X509Name _oxn = (X509Name)_obj;
        int _orderingSize = ordering.size();
        if(_orderingSize != _oxn.ordering.size())
            return false;
        boolean _indexes[] = new boolean[_orderingSize];
        for(int i = 0; i < _orderingSize; i++)
        {
            boolean _found = false;
            String _oid = ((DERObjectIdentifier)ordering.elementAt(i)).getId();
            String _val = (String)values.elementAt(i);
            for(int j = 0; j < _orderingSize; j++)
            {
                if(_indexes[j])
                    continue;
                String _oOID = ((DERObjectIdentifier)_oxn.ordering.elementAt(j)).getId();
                String _oVal = (String)_oxn.values.elementAt(j);
                if(!_oid.equals(_oOID))
                    continue;
                _val = _val.trim().toLowerCase();
                _oVal = _oVal.trim().toLowerCase();
                if(_val.equals(_oVal))
                {
                    _indexes[j] = true;
                    _found = true;
                    break;
                }
                StringBuffer v1 = new StringBuffer();
                StringBuffer v2 = new StringBuffer();
                if(_val.length() != 0)
                {
                    char c1 = _val.charAt(0);
                    v1.append(c1);
                    for(int k = 1; k < _val.length(); k++)
                    {
                        char c2 = _val.charAt(k);
                        if(c1 != ' ' || c2 != ' ')
                            v1.append(c2);
                        c1 = c2;
                    }

                }
                if(_oVal.length() != 0)
                {
                    char c1 = _oVal.charAt(0);
                    v2.append(c1);
                    for(int k = 1; k < _oVal.length(); k++)
                    {
                        char c2 = _oVal.charAt(k);
                        if(c1 != ' ' || c2 != ' ')
                            v2.append(c2);
                        c1 = c2;
                    }

                }
                if(!v1.toString().equals(v2.toString()))
                    continue;
                _indexes[j] = true;
                _found = true;
                break;
            }

            if(!_found)
                return false;
        }

        return true;
    }

    public int hashCode()
    {
        ASN1Sequence seq = (ASN1Sequence)getDERObject();
        Enumeration e = seq.getObjects();
        int hashCode;
        for(hashCode = 0; e.hasMoreElements(); hashCode ^= e.nextElement().hashCode());
        return hashCode;
    }

    private void appendValue(StringBuffer buf, Hashtable oidSymbols, DERObjectIdentifier oid, String value)
    {
        String sym = (String)oidSymbols.get(oid);
        if(sym != null)
            buf.append(sym);
        else
            buf.append(oid.getId());
        buf.append("=");
        int index = buf.length();
        buf.append(value);
        for(int end = buf.length(); index != end; index++)
            if(buf.charAt(index) == ',' || buf.charAt(index) == '"' || buf.charAt(index) == '\\' || buf.charAt(index) == '+' || buf.charAt(index) == '<' || buf.charAt(index) == '>' || buf.charAt(index) == ';')
            {
                buf.insert(index, "\\");
                index++;
                end++;
            }

    }

    public String toString(boolean reverse, Hashtable oidSymbols)
    {
        StringBuffer buf = new StringBuffer();
        boolean first = true;
        if(reverse)
        {
            for(int i = ordering.size() - 1; i >= 0; i--)
            {
                if(first)
                    first = false;
                else
                    buf.append(",");
                appendValue(buf, oidSymbols, (DERObjectIdentifier)ordering.elementAt(i), (String)values.elementAt(i));
            }

        } else
        {
            for(int i = 0; i < ordering.size(); i++)
            {
                if(first)
                    first = false;
                else
                    buf.append(",");
                appendValue(buf, oidSymbols, (DERObjectIdentifier)ordering.elementAt(i), (String)values.elementAt(i));
            }

        }
        return buf.toString();
    }

    public String toString()
    {
        return toString(DefaultReverse, DefaultSymbols);
    }

    static 
    {
        C = new DERObjectIdentifier("2.5.4.6");
        O = new DERObjectIdentifier("2.5.4.10");
        OU = new DERObjectIdentifier("2.5.4.11");
        T = new DERObjectIdentifier("2.5.4.12");
        CN = new DERObjectIdentifier("2.5.4.3");
        SN = new DERObjectIdentifier("2.5.4.5");
        L = new DERObjectIdentifier("2.5.4.7");
        ST = new DERObjectIdentifier("2.5.4.8");
        SURNAME = new DERObjectIdentifier("2.5.4.4");
        GIVENNAME = new DERObjectIdentifier("2.5.4.42");
        INITIALS = new DERObjectIdentifier("2.5.4.43");
        GENERATION = new DERObjectIdentifier("2.5.4.44");
        EmailAddress = new DERObjectIdentifier("1.2.840.113549.1.9.1");
        E = EmailAddress;
        DC = new DERObjectIdentifier("0.9.2342.19200300.100.1.25");
        UID = new DERObjectIdentifier("0.9.2342.19200300.100.1.1");
        OIDLookUp = new Hashtable();
        DefaultSymbols = OIDLookUp;
        RFC2253Symbols = new Hashtable();
        SymbolLookUp = new Hashtable();
        DefaultLookUp = SymbolLookUp;
        DefaultSymbols.put(C, "C");
        DefaultSymbols.put(O, "O");
        DefaultSymbols.put(T, "T");
        DefaultSymbols.put(OU, "OU");
        DefaultSymbols.put(CN, "CN");
        DefaultSymbols.put(L, "L");
        DefaultSymbols.put(ST, "ST");
        DefaultSymbols.put(SN, "SN");
        DefaultSymbols.put(EmailAddress, "E");
        DefaultSymbols.put(DC, "DC");
        DefaultSymbols.put(UID, "UID");
        DefaultSymbols.put(SURNAME, "SURNAME");
        DefaultSymbols.put(GIVENNAME, "GIVENNAME");
        DefaultSymbols.put(INITIALS, "INITIALS");
        DefaultSymbols.put(GENERATION, "GENERATION");
        RFC2253Symbols.put(C, "C");
        RFC2253Symbols.put(O, "O");
        RFC2253Symbols.put(T, "T");
        RFC2253Symbols.put(OU, "OU");
        RFC2253Symbols.put(CN, "CN");
        RFC2253Symbols.put(L, "L");
        RFC2253Symbols.put(ST, "ST");
        RFC2253Symbols.put(SN, "SN");
        RFC2253Symbols.put(EmailAddress, "EMAILADDRESS");
        RFC2253Symbols.put(DC, "DC");
        RFC2253Symbols.put(UID, "UID");
        RFC2253Symbols.put(SURNAME, "SURNAME");
        RFC2253Symbols.put(GIVENNAME, "GIVENNAME");
        RFC2253Symbols.put(INITIALS, "INITIALS");
        RFC2253Symbols.put(GENERATION, "GENERATION");
        DefaultLookUp.put("c", C);
        DefaultLookUp.put("o", O);
        DefaultLookUp.put("t", T);
        DefaultLookUp.put("ou", OU);
        DefaultLookUp.put("cn", CN);
        DefaultLookUp.put("l", L);
        DefaultLookUp.put("st", ST);
        DefaultLookUp.put("sn", SN);
        DefaultLookUp.put("emailaddress", E);
        DefaultLookUp.put("dc", DC);
        DefaultLookUp.put("e", E);
        DefaultLookUp.put("uid", UID);
        DefaultLookUp.put("surname", SURNAME);
        DefaultLookUp.put("givenname", GIVENNAME);
        DefaultLookUp.put("initials", INITIALS);
        DefaultLookUp.put("generation", GENERATION);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -