Предоставление нескольких пулов приложений IIS разрешения на один и тот же сертификат с помощью winhttpcertcfg

У меня есть сертификат, который мне нужен для установки и предоставления доступа для приложений IIS C# .NET для безопасного подключения к FirstData. Я не знаю много о сертификатах, поэтому я запускаю команды, которые выглядят так:

"C:\path\winhttpcertcfg" -i "WS10012NNN._.1.p12" -c LOCAL_MACHINE\MY -a "my-server-name\IIS APPPOOL\App1" -p <cert password>  
"C:\path\winhttpcertcfg" -i "WS10012NNN._.1.p12" -c LOCAL_MACHINE\MY -a "my-server-name\IIS APPPOOL\App2" -p <cert password>  
"C:\path\winhttpcertcfg" -i "WS10012NNN._.1.p12" -c LOCAL_MACHINE\MY -a "my-server-name\IIS APPPOOL\App3" -p <cert password>  
"C:\path\winhttpcertcfg" -i "WS10012NNN._.1.p12" -c LOCAL_MACHINE\MY -a "my-server-name\IIS APPPOOL\App4" -p <cert password>  
"C:\path\winhttpcertcfg" -i "WS10012NNN._.1.p12" -c LOCAL_MACHINE\MY -a "my-server-name\IIS APPPOOL\App5" -p <cert password>  

"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App1"  
"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App2"  
"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App3"  
"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App4"  
"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App5"  

Тем не менее, это не работает, как ожидалось. Я фактически закончил делать вышеупомянутое для 3 из пулов приложений, и затем позже делаю это для еще 2. Некоторые из моих сайтов не работают, но если я перезапущу только команду для одного сайта, она сломает другие. Кажется, я не могу заставить все 5 работать одновременно.

Кажется, что правильная последовательность должна состоять из одной команды -i, а затем из 5 -g команд. Но я не уверен, и я не могу найти примеры мультисайтов онлайн. Как правильно предоставить всем 5 пулам приложений разрешение на использование сертификата?

1 ответ

Решение

Хотя я до сих пор не до конца понимаю все тонкости winhttpcertcfg и его переключателей, я смог решить свою проблему. Ответ состоит в том, чтобы выполнить ОДНУ команду -i, а затем все команды -g. Вот так:

"C:\path\winhttpcertcfg" -i "WS10012NNN._.1.p12" -c LOCAL_MACHINE\MY -a "my-server-name\IIS APPPOOL\App1" -p <cert password> 

"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App1"  
"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App2"  
"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App3"  
"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App4"  
"C:\path\winhttpcertcfg" -g -c LOCAL_MACHINE\MY -s "WS10012NNN._.1" -a "my-server-name\IIS APPPOOL\App5"  

Если вы снова выполните команду "-i" для этого сертификата, все ваши права станут недействительными, и вам придется их повторить. В общем, одна команда установки, а затем все ваши права указывают на эту установку. Если вы делаете другую установку этого сертификата, вы должны предоставить все снова.

Другие вопросы по тегам