Example #1
0
 /**
  * Constructor from a given details.
  *
  * @param nameOrPseudonym  Name or pseudonym.
  * @param nameDistinguisher Name distinguisher.
  * @param dateOfBirth      Date of birth.
  * @param placeOfBirth     Place of birth.
  * @param gender           Gender.
  * @param postalAddress    Postal Address.
  */
 public PersonalData(
     NameOrPseudonym nameOrPseudonym,
     BigInteger nameDistinguisher,
     DerGeneralizedTime dateOfBirth,
     DirectoryString placeOfBirth,
     string gender,
     DirectoryString postalAddress)
 {
     this.nameOrPseudonym   = nameOrPseudonym;
     this.dateOfBirth       = dateOfBirth;
     this.gender            = gender;
     this.nameDistinguisher = nameDistinguisher;
     this.postalAddress     = postalAddress;
     this.placeOfBirth      = placeOfBirth;
 }
Example #2
0
        /**
         * Constructor from Asn1Sequence.
         * <p/>
         * The sequence is of type NameOrPseudonym:
         * <p/>
         * <pre>
         *     PersonalData ::= SEQUENCE {
         *       nameOrPseudonym NameOrPseudonym,
         *       nameDistinguisher [0] INTEGER OPTIONAL,
         *       dateOfBirth [1] GeneralizedTime OPTIONAL,
         *       placeOfBirth [2] DirectoryString OPTIONAL,
         *       gender [3] PrintableString OPTIONAL,
         *       postalAddress [4] DirectoryString OPTIONAL
         *       }
         * </pre>
         *
         * @param seq The ASN.1 sequence.
         */
        private PersonalData(
            Asn1Sequence seq)
        {
            if (seq.Count < 1)
            {
                throw new ArgumentException("Bad sequence size: " + seq.Count);
            }

            IEnumerator e = seq.GetEnumerator();

            e.MoveNext();

            nameOrPseudonym = NameOrPseudonym.GetInstance(e.Current);

            while (e.MoveNext())
            {
                Asn1TaggedObject o = Asn1TaggedObject.GetInstance(e.Current);
                int tag            = o.TagNo;
                switch (tag)
                {
                case 0:
                    nameDistinguisher = DerInteger.GetInstance(o, false).Value;
                    break;

                case 1:
                    dateOfBirth = DerGeneralizedTime.GetInstance(o, false);
                    break;

                case 2:
                    placeOfBirth = DirectoryString.GetInstance(o, true);
                    break;

                case 3:
                    gender = DerPrintableString.GetInstance(o, false).GetString();
                    break;

                case 4:
                    postalAddress = DirectoryString.GetInstance(o, true);
                    break;

                default:
                    throw new ArgumentException("Bad tag number: " + o.TagNo);
                }
            }
        }
Example #3
0
		/**
		* Constructor from Asn1Sequence.
		* <p/>
		* The sequence is of type NameOrPseudonym:
		* <p/>
		* <pre>
		*     PersonalData ::= SEQUENCE {
		*       nameOrPseudonym NameOrPseudonym,
		*       nameDistinguisher [0] INTEGER OPTIONAL,
		*       dateOfBirth [1] GeneralizedTime OPTIONAL,
		*       placeOfBirth [2] DirectoryString OPTIONAL,
		*       gender [3] PrintableString OPTIONAL,
		*       postalAddress [4] DirectoryString OPTIONAL
		*       }
		* </pre>
		*
		* @param seq The ASN.1 sequence.
		*/
		private PersonalData(
			Asn1Sequence seq)
		{
			if (seq.Count < 1)
				throw new ArgumentException("Bad sequence size: " + seq.Count);

			IEnumerator e = seq.GetEnumerator();
			e.MoveNext();

			nameOrPseudonym = NameOrPseudonym.GetInstance(e.Current);

			while (e.MoveNext())
			{
				Asn1TaggedObject o = Asn1TaggedObject.GetInstance(e.Current);
				int tag = o.TagNo;
				switch (tag)
				{
					case 0:
						nameDistinguisher = DerInteger.GetInstance(o, false).Value;
						break;
					case 1:
						dateOfBirth = DerGeneralizedTime.GetInstance(o, false);
						break;
					case 2:
						placeOfBirth = DirectoryString.GetInstance(o, true);
						break;
					case 3:
						gender = DerPrintableString.GetInstance(o, false).GetString();
						break;
					case 4:
						postalAddress = DirectoryString.GetInstance(o, true);
						break;
					default:
						throw new ArgumentException("Bad tag number: " + o.TagNo);
				}
			}
		}
Example #4
0
		/**
		* Constructor from a given details.
		*
		* @param nameOrPseudonym  Name or pseudonym.
		* @param nameDistinguisher Name distinguisher.
		* @param dateOfBirth      Date of birth.
		* @param placeOfBirth     Place of birth.
		* @param gender           Gender.
		* @param postalAddress    Postal Address.
		*/
		public PersonalData(
			NameOrPseudonym		nameOrPseudonym,
			BigInteger			nameDistinguisher,
			DerGeneralizedTime	dateOfBirth,
			DirectoryString		placeOfBirth,
			string				gender,
			DirectoryString		postalAddress)
		{
			this.nameOrPseudonym = nameOrPseudonym;
			this.dateOfBirth = dateOfBirth;
			this.gender = gender;
			this.nameDistinguisher = nameDistinguisher;
			this.postalAddress = postalAddress;
			this.placeOfBirth = placeOfBirth;
		}