// "Translate" e.g. {1 2 840 10045 2 1} to 1.2.840.10045.2.1
private static String decodeOID(ASN1Value val) throws Exception {
OBJECT_IDENTIFIER.Template ot = new OBJECT_IDENTIFIER.Template();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
val.encode(baos);
OBJECT_IDENTIFIER o = (OBJECT_IDENTIFIER) ot
.decode(new ByteArrayInputStream(baos.toByteArray()));
StringBuffer sb = new StringBuffer();
long[] nums = o.getNumbers();
for (int i = 0; i < nums.length - 1; i++) {
sb.append(nums[i] + ".");
}
sb.append(nums[nums.length - 1]);
return sb.toString();