📄 x509name.java
字号:
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 + -