75 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| 
 | |
| using Org.BouncyCastle.Asn1.X500;
 | |
| 
 | |
| namespace Org.BouncyCastle.Asn1.IsisMtt.X509
 | |
| {
 | |
| 	/**
 | |
| 	* Some other information of non-restrictive nature regarding the usage of this
 | |
| 	* certificate.
 | |
| 	* 
 | |
| 	* <pre>
 | |
| 	*    AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
 | |
| 	* </pre>
 | |
| 	*/
 | |
| 	public class AdditionalInformationSyntax
 | |
| 		: Asn1Encodable
 | |
| 	{
 | |
| 		private readonly DirectoryString information;
 | |
| 
 | |
| 		public static AdditionalInformationSyntax GetInstance(
 | |
| 			object obj)
 | |
| 		{
 | |
| 			if (obj == null || obj is AdditionalInformationSyntax)
 | |
| 			{
 | |
| 				return (AdditionalInformationSyntax) obj;
 | |
| 			}
 | |
| 
 | |
| 			if (obj is IAsn1String)
 | |
| 			{
 | |
| 				return new AdditionalInformationSyntax(DirectoryString.GetInstance(obj));
 | |
| 			}
 | |
| 
 | |
| 			throw new ArgumentException("unknown object in factory: " + obj.GetType().Name, "obj");
 | |
| 		}
 | |
| 
 | |
| 		private AdditionalInformationSyntax(
 | |
| 			DirectoryString information)
 | |
| 		{
 | |
| 			this.information = information;
 | |
| 		}
 | |
| 
 | |
| 		/**
 | |
| 		* Constructor from a given details.
 | |
| 		*
 | |
| 		* @param information The describtion of the information.
 | |
| 		*/
 | |
| 		public AdditionalInformationSyntax(
 | |
| 			string information)
 | |
| 		{
 | |
| 			this.information = new DirectoryString(information);
 | |
| 		}
 | |
| 
 | |
| 		public virtual DirectoryString Information
 | |
| 		{
 | |
| 			get { return information; }
 | |
| 		}
 | |
| 
 | |
| 		/**
 | |
| 		* Produce an object suitable for an Asn1OutputStream.
 | |
| 		* <p/>
 | |
| 		* Returns:
 | |
| 		* <p/>
 | |
| 		* <pre>
 | |
| 		*   AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
 | |
| 		* </pre>
 | |
| 		*
 | |
| 		* @return an Asn1Object
 | |
| 		*/
 | |
| 		public override Asn1Object ToAsn1Object()
 | |
| 		{
 | |
| 			return information.ToAsn1Object();
 | |
| 		}
 | |
| 	}
 | |
| }
 |