private void ProcessTAG(ASN1TAG inputTag) 
		{
			
			if (inputTag.IsExplicit()) 
			{
				// TODO - sfiksaj ovo.
				/* ako je TAG explicit - stripaj omotac oko DER-a... */
                /* ako je IMPLICIT - ignoriraj..., ostalo ne bi trebalo biti vazno... */	
			
				SimpleDER der = valueOctets.Pop() as SimpleDER;
				SimpleDER unwrappedDER = new SimpleDER(der.GetValueOctets());

				PushDER(unwrappedDER);

				// sad nastavi dalje - sve dok ne dodjemo do simple taga...
				ProcessTAG(((EXPLICITTag)inputTag).underTag);
			}

			if (inputTag.IsImplicit()) 
			{
				/// Go to the next step...
				ProcessTAG(((IMPLICITTag)inputTag).underTag);
			}
		}
Esempio n. 2
0
		public static BEREncoding Create(ASN1TAG TAG, ExperimentalObject valueObject) 
		{
			byte[] tag_Octets = MakeIdOctets(TAG);

		    byte[] value_Octets;

	
			if (TAG.IsExplicit())
			{
				value_Octets = (valueObject.asDER()).GetBERCode();
			}
			else 
			{
				value_Octets = valueObject.Get_BER_Value_Octets()
			}

			return new BEREncoding(tag_Octets, value_Octets);
		}