AddAdditionalStoreFromLocation() static private method

static private AddAdditionalStoreFromLocation ( string location, PkixParameters pkixParams ) : void
location string
pkixParams PkixParameters
return void
示例#1
0
 internal static void AddAdditionalStoresFromCrlDistributionPoint(CrlDistPoint crldp, PkixParameters pkixParams)
 {
     if (crldp != null)
     {
         DistributionPoint[] array = null;
         try
         {
             array = crldp.GetDistributionPoints();
         }
         catch (Exception innerException)
         {
             throw new Exception("Distribution points could not be read.", innerException);
         }
         for (int i = 0; i < array.Length; i++)
         {
             DistributionPointName distributionPointName = array[i].DistributionPointName;
             if (distributionPointName != null && distributionPointName.PointType == 0)
             {
                 GeneralName[] names = GeneralNames.GetInstance(distributionPointName.Name).GetNames();
                 for (int j = 0; j < names.Length; j++)
                 {
                     if (names[j].TagNo == 6)
                     {
                         string @string = DerIA5String.GetInstance(names[j].Name).GetString();
                         PkixCertPathValidatorUtilities.AddAdditionalStoreFromLocation(@string, pkixParams);
                     }
                 }
             }
         }
     }
 }
示例#2
0
 internal static void AddAdditionalStoresFromAltNames(X509Certificate cert, PkixParameters pkixParams)
 {
     if (cert.GetIssuerAlternativeNames() != null)
     {
         IEnumerator enumerator = cert.GetIssuerAlternativeNames().GetEnumerator();
         while (enumerator.MoveNext())
         {
             IList list = (IList)enumerator.Current;
             if (list[0].Equals(6))
             {
                 string location = (string)list[1];
                 PkixCertPathValidatorUtilities.AddAdditionalStoreFromLocation(location, pkixParams);
             }
         }
     }
 }
示例#3
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);
                         }
                     }
                 }
             }
         }
     }
 }
示例#4
0
 internal static void AddAdditionalStoresFromAltNames(
     X509Certificate cert,
     PkixParameters pkixParams)
 {
     // if in the IssuerAltName extension an URI
     // is given, add an additinal X.509 store
     if (cert.GetIssuerAlternativeNames() != null)
     {
         IEnumerator it = cert.GetIssuerAlternativeNames().GetEnumerator();
         while (it.MoveNext())
         {
             // look for URI
             IList list = (IList)it.Current;
             //if (list[0].Equals(new Integer(GeneralName.UniformResourceIdentifier)))
             if (list[0].Equals(GeneralName.UniformResourceIdentifier))
             {
                 // found
                 string temp = (string)list[1];
                 PkixCertPathValidatorUtilities.AddAdditionalStoreFromLocation(temp, pkixParams);
             }
         }
     }
 }