Прикрепление SSL-сертификата к привязкам основного сайта на сервере IIS - PullRequest
0 голосов
/ 10 апреля 2019

Я создал подчиненную привязку к основному сайту и хочу привязать ssl-сертификат к подчиненной привязке.Ниже мой код

string iisPortNumber = "443";
string iisBindingProtocol = "https";
string bindingUrl = "subadmin.domain.com";
CreateBinding(iisSiteName, iisPortNumber, iisBindingProtocol, bindingUrl);

public void CreateBinding(string iisSiteName, string iisPortNumber, string iisBindingProtocol, string bindingUrl)
        {

            ServerManager serverMgr = new ServerManager();
            String xSSLCertificate = @"E:\admin.domain.com.pfx";
            String xSSLCertificatePassword = @"12345678";
            try
            {
                if (IsWebsiteExists(iisSiteName, serverMgr))
                {
                    Site siteName = serverMgr.Sites[iisSiteName];
                    if (!IsExistsBinding(bindingUrl, siteName))
                    {
                        var mysite = serverMgr.Sites.Add(bindingUrl.ToString(), iisBindingProtocol, "*:" + iisPortNumber + ":" + bindingUrl, bindingUrl);

                        X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
                        store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadWrite);
                        X509Certificate2 certificate = new X509Certificate2(xSSLCertificate, xSSLCertificatePassword);
                        store.Add(certificate);

                        var binding = mysite.Bindings.Add("*:" + iisPortNumber + ":" + bindingUrl, certificate.GetCertHash(), bindingUrl);
                        binding.Protocol = iisBindingProtocol;
                        mysite.ApplicationDefaults.ApplicationPoolName = siteName.ToString();


                        serverMgr.CommitChanges();
                        store.Close();
                    }
                }
                else
                {

                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }


Но я сталкиваюсь с ошибкой.т.е. (невозможно создать файл, если этот файл уже существует. (Исключение из HRESULT: 0x800700B7)).Может ли кто-нибудь помочь мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...