- int head = bytes[0] & 0xff;
- StringBuffer objId = new StringBuffer();
-
- objId.append(Integer.toString(head / 40));
- objId.append('.');
- objId.append(Integer.toString(head % 40));
-
- int value = 0;
-
- for (int i = 1; i != bytes.length; i++)
- {
- int b = bytes[i] & 0xff;
-
- value = value * 128 + (b & 0x7f);
- if ((b & 128) == 0) // end of number reached
- {
- objId.append('.');
- objId.append(Integer.toString(value));
- value = 0;
- }
- }
-
- return new DERObjectIdentifier(objId.toString());