Beispiel #1
0
        public X509ChallengePasswordAttribute(string password) : base()
        {
            Password = password ?? throw new ArgumentNullException(nameof(password));
            var attr = new AttributePkcs(new DerObjectIdentifier(OidAttributes.СhallengePassword), new DerSet(new DerUtf8String(Password)));

            Import(attr.GetDerEncoded());
        }
        public X509EnrollmentNameValuePairAttribute(X509EnrollmentNameValuePairParams param) : base()
        {
            #region Sets propeties from param
            var seqList = new List <Asn1Encodable>();

            if (param.CertificateTemplate != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.CertificateTemplate.ToString(), param.CertificateTemplate));
            }
            if (param.CDC != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.CDC.ToString(), param.CDC));
            }
            if (param.CertFile != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.CertFile.ToString(), param.CertFile));
            }
            if (param.CertificateUsage != null)
            {
                string oidString = string.Join(", ", new List <Oid>(param.CertificateUsage).ConvertAll(i => i.Value.ToString()).ToArray());
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.CertificateUsage.ToString(), oidString));
            }
            if (param.CertType != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.CertType.ToString(), param.CertType.Value.ToString()));
            }
            if (param.Challenge != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.Challenge.ToString(), param.Challenge));
            }
            if (param.ExpirationDate != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.ExpirationDate.ToString(), param.ExpirationDate.Value.ToString()));
            }
            if (param.Other != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.Other.ToString(), param.Other));
            }
            if (param.RequesterName != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.RequesterName.ToString(), param.RequesterName));
            }
            if (param.RequestId != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.RequestId.ToString(), param.RequestId.Value.ToString()));
            }
            if (param.RMD != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.RMD.ToString(), param.RMD));
            }
            if (param.SAN != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.SAN.ToString(), param.SAN));
            }
            if (param.ValidityPeriod != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.ValidityPeriod.ToString(), param.ValidityPeriod.Value.ToString()));
            }
            if (param.ValidityPeriodUnits != null)
            {
                seqList.Add(CreateSequence(EnrollmentNameValuePairsEnum.ValidityPeriodUnits.ToString(), param.ValidityPeriodUnits.Value.ToString()));
            }
            #endregion

            var attr = new AttributePkcs(new DerObjectIdentifier(OidAttributes.EnrollmentNameValuePair), new DerSet(seqList.ToArray()));
            Import(attr.GetDerEncoded());
        }