@Test public void testEncodeIntegerZero() { ByteBuffer buf = ByteBuffer.wrap(new byte[3]); buf.position(buf.position() + 3); int len = Asn1Utils.encodeInteger(0, buf); assertEquals(3, len); assertEquals(0, buf.position()); assertEquals((byte) 2, buf.get(0)); assertEquals((byte) 1, buf.get(1)); assertEquals((byte) 0, buf.get(2)); }
public static int encodeInteger(int value, ByteBuffer buf) { int pos = buf.position(); int contentLength = 0; do { pos--; buf.put(pos, (byte) (value & 0xff)); value >>>= 8; contentLength++; } while (value != 0); buf.position(buf.position() - contentLength); int headerLen = DerUtils.encodeIdAndLength(DerId.TagClass.UNIVERSAL, DerId.EncodingType.PRIMITIVE, ASN1_INTEGER_TAG_NUM, contentLength, buf); return headerLen + contentLength; }
Asn1Utils { public static int encodeInteger(int value, ByteBuffer buf) { int pos = buf.position(); int contentLength = 0; do { pos--; buf.put(pos, (byte) (value & 0xff)); value >>>= 8; contentLength++; } while (value != 0); buf.position(buf.position() - contentLength); int headerLen = DerUtils.encodeIdAndLength(DerId.TagClass.UNIVERSAL, DerId.EncodingType.PRIMITIVE, ASN1_INTEGER_TAG_NUM, contentLength, buf); return headerLen + contentLength; } }
Asn1Utils { public static int encodeInteger(int value, ByteBuffer buf) { int pos = buf.position(); int contentLength = 0; do { pos--; buf.put(pos, (byte) (value & 0xff)); value >>>= 8; contentLength++; } while (value != 0); buf.position(buf.position() - contentLength); int headerLen = DerUtils.encodeIdAndLength(DerId.TagClass.UNIVERSAL, DerId.EncodingType.PRIMITIVE, ASN1_INTEGER_TAG_NUM, contentLength, buf); return headerLen + contentLength; } private  Asn1Utils(); }
Asn1Utils { public static int encodeInteger(int value, ByteBuffer buf) { int pos = buf.position(); int contentLength = 0; do { pos--; buf.put(pos, (byte) (value & 0xff)); value >>>= 8; contentLength++; } while (value != 0); buf.position(buf.position() - contentLength); int headerLen = DerUtils.encodeIdAndLength(DerId.TagClass.UNIVERSAL, DerId.EncodingType.PRIMITIVE, ASN1_INTEGER_TAG_NUM, contentLength, buf); return headerLen + contentLength; } private  Asn1Utils(); static BitSet decodeBitString(ByteBuffer buf); static Date decodeGeneralizedTime(ByteBuffer buf); static String decodeIA5String(ByteBuffer buf); static int decodeInteger(ByteBuffer buf); static short[] decodeOctetString(ByteBuffer buf); static int decodeSequence(ByteBuffer buf); static int encodeBitString(BitSet value, int nbits, ByteBuffer buf); static int encodeGeneralizedTime(Date date, ByteBuffer buf); static int encodeIA5String(String value, ByteBuffer buf); static int encodeInteger(int value, ByteBuffer buf); static int encodeOctetString(short[] octets, ByteBuffer buf); static int encodeSequence(int contentLength, ByteBuffer buf); static int sizeOfBitString(BitSet value, int nbits); static int sizeOfGeneralizedTime(Date date); static int sizeOfIA5String(String value); static int sizeOfInteger(int value); static int sizeOfOctetString(short[] octets); static int sizeOfSequence(int length); }
Asn1Utils { public static int encodeInteger(int value, ByteBuffer buf) { int pos = buf.position(); int contentLength = 0; do { pos--; buf.put(pos, (byte) (value & 0xff)); value >>>= 8; contentLength++; } while (value != 0); buf.position(buf.position() - contentLength); int headerLen = DerUtils.encodeIdAndLength(DerId.TagClass.UNIVERSAL, DerId.EncodingType.PRIMITIVE, ASN1_INTEGER_TAG_NUM, contentLength, buf); return headerLen + contentLength; } private  Asn1Utils(); static BitSet decodeBitString(ByteBuffer buf); static Date decodeGeneralizedTime(ByteBuffer buf); static String decodeIA5String(ByteBuffer buf); static int decodeInteger(ByteBuffer buf); static short[] decodeOctetString(ByteBuffer buf); static int decodeSequence(ByteBuffer buf); static int encodeBitString(BitSet value, int nbits, ByteBuffer buf); static int encodeGeneralizedTime(Date date, ByteBuffer buf); static int encodeIA5String(String value, ByteBuffer buf); static int encodeInteger(int value, ByteBuffer buf); static int encodeOctetString(short[] octets, ByteBuffer buf); static int encodeSequence(int contentLength, ByteBuffer buf); static int sizeOfBitString(BitSet value, int nbits); static int sizeOfGeneralizedTime(Date date); static int sizeOfIA5String(String value); static int sizeOfInteger(int value); static int sizeOfOctetString(short[] octets); static int sizeOfSequence(int length);  }