Org.BouncyCastle.Asn1.Cms.AuthenticatedData.CalculateVersion C# (CSharp) Méthode

CalculateVersion() public static méthode

public static CalculateVersion ( OriginatorInfo origInfo ) : int
origInfo OriginatorInfo
Résultat int
		public static int CalculateVersion(OriginatorInfo origInfo)
		{
			if (origInfo == null)
				return 0;

			int ver = 0;

			foreach (object obj in origInfo.Certificates)
			{
				if (obj is Asn1TaggedObject)
				{
					Asn1TaggedObject tag = (Asn1TaggedObject)obj;

					if (tag.TagNo == 2)
					{
						ver = 1;
					}
					else if (tag.TagNo == 3)
					{
						ver = 3;
						break;
					}
				}
			}

			foreach (object obj in origInfo.Crls)
			{
				if (obj is Asn1TaggedObject)
				{
					Asn1TaggedObject tag = (Asn1TaggedObject)obj;

					if (tag.TagNo == 1)
					{
						ver = 3;
						break;
					}
				}
			}

			return ver;
		}
	}

Usage Example

Exemple #1
0
 public AuthenticatedData(OriginatorInfo originatorInfo, Asn1Set recipientInfos, AlgorithmIdentifier macAlgorithm, AlgorithmIdentifier digestAlgorithm, ContentInfo encapsulatedContent, Asn1Set authAttrs, Asn1OctetString mac, Asn1Set unauthAttrs)
 {
     if ((digestAlgorithm != null || authAttrs != null) && (digestAlgorithm == null || authAttrs == null))
     {
         throw new ArgumentException("digestAlgorithm and authAttrs must be set together");
     }
     this.version                 = new DerInteger(AuthenticatedData.CalculateVersion(originatorInfo));
     this.originatorInfo          = originatorInfo;
     this.macAlgorithm            = macAlgorithm;
     this.digestAlgorithm         = digestAlgorithm;
     this.recipientInfos          = recipientInfos;
     this.encapsulatedContentInfo = encapsulatedContent;
     this.authAttrs               = authAttrs;
     this.mac         = mac;
     this.unauthAttrs = unauthAttrs;
 }