GetDistributionPoints() public method

public GetDistributionPoints ( ) : Org.BouncyCastle.Asn1.X509.DistributionPoint[]
return Org.BouncyCastle.Asn1.X509.DistributionPoint[]
コード例 #1
0
		internal static void AddAdditionalStoresFromCrlDistributionPoint(
			CrlDistPoint	crldp,
			PkixParameters	pkixParams)
		{
			if (crldp != null)
			{
				DistributionPoint[] dps = null;
				try
				{
					dps = crldp.GetDistributionPoints();
				}
				catch (Exception e)
				{
					throw new Exception(
						"Distribution points could not be read.", e);
				}
				for (int i = 0; i < dps.Length; i++)
				{
					DistributionPointName dpn = dps[i].DistributionPointName;
					// look for URIs in fullName
					if (dpn != null)
					{
						if (dpn.PointType == DistributionPointName.FullName)
						{
							GeneralName[] genNames = GeneralNames.GetInstance(
								dpn.Name).GetNames();
							// look for an URI
							for (int j = 0; j < genNames.Length; j++)
							{
								if (genNames[j].TagNo == GeneralName.UniformResourceIdentifier)
								{
									string location = DerIA5String.GetInstance(
										genNames[j].Name).GetString();
									PkixCertPathValidatorUtilities.AddAdditionalStoreFromLocation(
										location, pkixParams);
								}
							}
						}
					}
				}
			}
		}
コード例 #2
0
 static Asn1Encodable ExtractGeneralName(CrlDistPoint distributionPointsExtension, int tagNumber)
 {
     foreach (var distributionPoint in distributionPointsExtension.GetDistributionPoints())
     {
         DistributionPointName dpn = distributionPoint.DistributionPointName;
         if (dpn.PointType == DistributionPointName.FullName)
         {
             foreach (var generalName in GeneralNames.GetInstance(dpn.Name).GetNames())
             {
                 if (generalName.TagNo == tagNumber)
                 {
                     return generalName.Name;
                 }
             }
         }
     }
     return null;
 }