Пример #1
0
 public static void Parse(String BindStr, IISBindingHandler callBack)
 {
     String[] bindings = BindStr.Split(new String[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
     foreach (String singleBind in bindings)
     {
         String[] bindParams = singleBind.Split(new String[] { ":" }, StringSplitOptions.None);
         if (bindParams.Length < 4)
         {
             throw new Exception(String.Format("Invalid binding string specified {0}, must be in http::80:www.abcdefg.com:CertStoreName\\a03083aabcd6bdfec92214df7e885c9e1e1a864d form", singleBind));
         }
         IISBinding cb = new IISBinding()
         {
             Protocol = bindParams[0],
             IP       = bindParams[1],
             Port     = bindParams[2],
             Host     = bindParams[3]
         };
         //If a cert was specified then set that up as well
         if (bindParams.Length >= 5)
         {
             String[] CertStoreCertHash = bindParams[4].Split(new String[] { "\\" }, StringSplitOptions.None);
             if (CertStoreCertHash.Length >= 2)
             {
                 cb.CertificateStore = CertStoreCertHash[0];
                 cb.CertificateHash  = CertStoreCertHash[1];
             }
             else
             {
                 cb.CertificateHash = CertStoreCertHash[0];
             }
         }
         callBack(cb);
     }
 }
Пример #2
0
        public override IISBinding FindBinding(IISBinding iisBinding)
        {
            Binding binding = site.Bindings.FirstOrDefault <Binding>(t => t.BindingInformation.Equals(iisBinding.SMBindString, StringComparison.CurrentCultureIgnoreCase));

            if (binding != null)
            {
                IISBinding bnd = new IISBinding()
                {
                    CertificateHash  = (binding.CertificateHash == null) ? "" : SSLCertificates.ByteArrayToHexString(binding.CertificateHash),
                    CertificateStore = binding.CertificateStoreName,
                    Host             = iisBinding.Host,
                    IP       = iisBinding.IP,
                    Protocol = iisBinding.Protocol,
                    Port     = iisBinding.Port
                };
                return(bnd);
            }
            else
            {
                return(null);
            }
        }
Пример #3
0
 public override IISBinding FindBinding(IISBinding iisBinding)
 {
     // Not developed yet.
     throw new NotImplementedException();
 }
Пример #4
0
 public abstract IISBinding FindBinding(IISBinding iisBinding);