Package org.wildfly.security.asn1
Interface ASN1Encoder
-
- All Superinterfaces:
Flushable
- All Known Implementing Classes:
DEREncoder
public interface ASN1Encoder extends Flushable
An interface for encoding ASN.1 values.- Author:
- Farah Juma
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidencodeBitString(byte[] str)Encode an ASN.1 bit string value.voidencodeBitString(byte[] str, int numUnusedBits)Encode an ASN.1 bit string value.voidencodeBitString(String binaryStr)Encode an ASN.1 bit string value.voidencodeBitString(BigInteger integer)Encode an ASN.1 bit string where the value represents the binary form of the giveninteger.voidencodeBitString(BitSet bitSet)Encode an ASN.1 bit string value.voidencodeBitString(EnumSet<?> enumSet)Encode an enum set as an ASN.1 bit string, with each ordinal value of the set representing a single bit.voidencodeBMPString(String str)Encode an ASN.1 BMPString string value.voidencodeBoolean(boolean value)Encode an ASN.1booleanvalue.voidencodeGeneralizedTime(ZonedDateTime time)Encode an ASN.1 GeneralizedTime type.voidencodeIA5String(byte[] str)Encode an ASN.1 IA5 string value.voidencodeIA5String(String str)Encode an ASN.1 IA5 string value.voidencodeImplicit(int number)Indicate that the next encode operation should encode an ASN.1 value using the given implicit, context-specific tag.voidencodeImplicit(int clazz, int number)Indicate that the next encode operation should encode an ASN.1 value using the given implicit tag.default voidencodeInteger(int integer)Encode an ASN.1integervalue.voidencodeInteger(BigInteger integer)Encode an ASN.1integervalue.voidencodeNull()Encode an ASN.1 null value.voidencodeObjectIdentifier(String objectIdentifier)Encode an ASN.1 object identifier value.voidencodeOctetString(byte[] str)Encode an ASN.1 octet string value.voidencodeOctetString(String str)Encode an ASN.1 octet string value.voidencodePrintableString(byte[] str)Encode an ASN.1 printable string value.voidencodePrintableString(String str)Encode an ASN.1 printable string value.voidencodeUniversalString(String str)Encode an ASN.1 UniversalString string value.voidencodeUTF8String(String str)Encode an ASN.1 UTF8String string value.voidendExplicit()Finish encoding an ASN.1 explicitly tagged element.voidendSequence()Finish encoding an ASN.1 sequence.voidendSet()Finish encoding an ASN.1 set.voidendSetOf()Finish encoding an ASN.1 "set of" element.voidflush()Flush the encoder, writing any saved ASN.1 encoded values to the target destination.byte[]getEncoded()Get the ASN.1 encoded bytes.voidstartExplicit(int number)Start encoding an ASN.1 explicitly tagged element.voidstartExplicit(int clazz, int number)Start encoding an ASN.1 explicitly tagged element.voidstartSequence()Start encoding an ASN.1 sequence.voidstartSet()Start encoding an ASN.1 set.voidstartSetOf()Start encoding an ASN.1 "set of" element.voidwriteEncoded(byte[] encoded)Write an already encoded ASN.1 value to the target destination.
-
-
-
Method Detail
-
startSequence
void startSequence()
Start encoding an ASN.1 sequence. All subsequent encode operations will be part of this sequence untilendSequence()is called.
-
endSequence
void endSequence() throws IllegalStateExceptionFinish encoding an ASN.1 sequence.- Throws:
IllegalStateException- if there is no sequence to end
-
startSet
void startSet()
Start encoding an ASN.1 set. All subsequent encode operations will be part of this set untilendSet()is called.
-
endSet
void endSet() throws IllegalStateExceptionFinish encoding an ASN.1 set.- Throws:
IllegalStateException- if there is no set to end
-
startSetOf
void startSetOf()
Start encoding an ASN.1 "set of" element. All subsequent encode operations will be part of this set untilendSetOf()is called.
-
endSetOf
void endSetOf() throws IllegalStateExceptionFinish encoding an ASN.1 "set of" element.- Throws:
IllegalStateException- if there is no set to end
-
startExplicit
void startExplicit(int number)
Start encoding an ASN.1 explicitly tagged element. All subsequent encode operations will be part of this explicitly tagged element untilendExplicit()is called.- Parameters:
number- the tag number for the explicit, context-specific tag
-
startExplicit
void startExplicit(int clazz, int number)Start encoding an ASN.1 explicitly tagged element. All subsequent encode operations will be part of this explicitly tagged element untilendExplicit()is called.- Parameters:
clazz- the class for the explicit tagnumber- the tag number for the explicit tag
-
endExplicit
void endExplicit() throws IllegalStateExceptionFinish encoding an ASN.1 explicitly tagged element.- Throws:
IllegalStateException- if there is no explicitly tagged element to end
-
encodeOctetString
void encodeOctetString(String str)
Encode an ASN.1 octet string value.- Parameters:
str- the octet string to encode
-
encodeOctetString
void encodeOctetString(byte[] str)
Encode an ASN.1 octet string value.- Parameters:
str- the byte array containing the octet string to encode
-
encodeIA5String
void encodeIA5String(String str)
Encode an ASN.1 IA5 string value.- Parameters:
str- the IA5 string to encode
-
encodeIA5String
void encodeIA5String(byte[] str)
Encode an ASN.1 IA5 string value.- Parameters:
str- the byte array containing IA5 string to encode
-
encodePrintableString
void encodePrintableString(byte[] str)
Encode an ASN.1 printable string value.- Parameters:
str- the byte array containing the printable string to encode
-
encodePrintableString
void encodePrintableString(String str)
Encode an ASN.1 printable string value.- Parameters:
str- the printable string to encode
-
encodeUTF8String
void encodeUTF8String(String str)
Encode an ASN.1 UTF8String string value.- Parameters:
str- the string to encode
-
encodeBMPString
void encodeBMPString(String str)
Encode an ASN.1 BMPString string value.- Parameters:
str- the string to encode
-
encodeUniversalString
void encodeUniversalString(String str)
Encode an ASN.1 UniversalString string value.- Parameters:
str- the string to encode
-
encodeBitString
void encodeBitString(byte[] str)
Encode an ASN.1 bit string value.- Parameters:
str- the byte array containing the bit string to encode (all bits in the bit string will be used)
-
encodeBitString
void encodeBitString(byte[] str, int numUnusedBits)Encode an ASN.1 bit string value.- Parameters:
str- the byte array containing the bit string to encodenumUnusedBits- the number of unused bits in the byte array
-
encodeBitString
void encodeBitString(EnumSet<?> enumSet)
Encode an enum set as an ASN.1 bit string, with each ordinal value of the set representing a single bit.- Parameters:
enumSet- the enum set (must not benull)
-
encodeBitString
void encodeBitString(BitSet bitSet)
Encode an ASN.1 bit string value.- Parameters:
bitSet- the bit set (must not benull)
-
encodeBitString
void encodeBitString(String binaryStr)
Encode an ASN.1 bit string value.- Parameters:
binaryStr- the bit string to encode, as a binary string
-
encodeBitString
void encodeBitString(BigInteger integer)
Encode an ASN.1 bit string where the value represents the binary form of the giveninteger.- Parameters:
integer- the integer to encode as a binary string
-
encodeGeneralizedTime
void encodeGeneralizedTime(ZonedDateTime time)
Encode an ASN.1 GeneralizedTime type.- Parameters:
time- the time to encode (must not benull)
-
encodeObjectIdentifier
void encodeObjectIdentifier(String objectIdentifier) throws ASN1Exception
Encode an ASN.1 object identifier value.- Parameters:
objectIdentifier- the object identifier to encode- Throws:
ASN1Exception- if the given object identifier is invalid
-
encodeNull
void encodeNull()
Encode an ASN.1 null value.
-
encodeImplicit
void encodeImplicit(int number)
Indicate that the next encode operation should encode an ASN.1 value using the given implicit, context-specific tag.- Parameters:
number- the tag number for the implicit, context-specific tag
-
encodeImplicit
void encodeImplicit(int clazz, int number)Indicate that the next encode operation should encode an ASN.1 value using the given implicit tag.- Parameters:
clazz- the class for the implicit tagnumber- the tag number for the implicit tag
-
encodeBoolean
void encodeBoolean(boolean value)
Encode an ASN.1booleanvalue.- Parameters:
value- the boolean to encode
-
encodeInteger
default void encodeInteger(int integer)
Encode an ASN.1integervalue.- Parameters:
integer- the integer to encode
-
encodeInteger
void encodeInteger(BigInteger integer)
Encode an ASN.1integervalue.- Parameters:
integer- the integer to encode
-
writeEncoded
void writeEncoded(byte[] encoded)
Write an already encoded ASN.1 value to the target destination.- Parameters:
encoded- the encoded ASN.1 value to write
-
flush
void flush()
Flush the encoder, writing any saved ASN.1 encoded values to the target destination. Any unfinished sequences or sets will be ended.
-
getEncoded
byte[] getEncoded()
Get the ASN.1 encoded bytes.- Returns:
- the ASN.1 encoded bytes
-
-