예제 #1
0
		internal override void Encode(
			DerOutputStream derOut)
		{
			if (!IsEmpty())
			{
				byte[] bytes = obj.GetDerEncoded();

				if (explicitly)
				{
					derOut.WriteEncoded(Asn1Tags.Constructed | Asn1Tags.Tagged, tagNo, bytes);
				}
				else
				{
					//
					// need to mark constructed types... (preserve Constructed tag)
					//
					int flags = (bytes[0] & Asn1Tags.Constructed) | Asn1Tags.Tagged;
					derOut.WriteTag(flags, tagNo);
					derOut.Write(bytes, 1, bytes.Length - 1);
				}
			}
			else
			{
				derOut.WriteEncoded(Asn1Tags.Constructed | Asn1Tags.Tagged, tagNo, new byte[0]);
			}
		}
예제 #2
0
		internal static void Encode(
			DerOutputStream	derOut,
			byte[]			bytes,
			int				offset,
			int				length)
		{
			derOut.WriteEncoded(Asn1Tags.OctetString, bytes, offset, length);
		}
예제 #3
0
 internal override void Encode(
     DerOutputStream derOut)
 {
     derOut.WriteEncoded(Asn1Tags.OctetString, str);
 }
예제 #4
0
 internal override void Encode(DerOutputStream derOut)
 {
     derOut.WriteEncoded(5, zeroBytes);
 }
예제 #5
0
 internal override void Encode(
     DerOutputStream derOut)
 {
     derOut.WriteEncoded(Asn1Tags.OctetString, str);
 }
예제 #6
0
 internal override void Encode(DerOutputStream derOut)
 {
     derOut.WriteEncoded(23, GetOctets());
 }
예제 #7
0
 internal override void Encode(
     DerOutputStream derOut)
 {
     derOut.WriteEncoded(0x30, str);
 }
예제 #8
0
 internal static void Encode(DerOutputStream derOut, byte[] bytes, int offset, int length)
 {
     derOut.WriteEncoded(4, bytes, offset, length);
 }
예제 #9
0
 internal override void Encode(DerOutputStream derOut)
 {
     derOut.WriteEncoded(12, Encoding.UTF8.GetBytes(str));
 }
 internal override void Encode(DerOutputStream derOut)
 {
     derOut.WriteEncoded(25, mString);
 }