В первой части нашей темы я сделал лёгкий вброс по основным интерфейсам COM, при помощи которых мы можем управлять службой Online Responder. Сегодня мы более плотно посмотрим уже сами конфигурации. Они хранятся в свойстве OCSPCAConfigurationCollection:
PS C:\> $OCSPAdmin.OCSPCAConfigurationCollection Identifier : ocsp CACertificate : {48, 130, 4, 78...} HashAlgorithm : SHA1 SigningFlags : 605 SigningCertificate : {48, 130, 3, 212...} ReminderDuration : 90 ErrorCode : 0 CSPName : Microsoft Software Key Storage Provider KeySpec : 0 ProviderCLSID : {4956d17f-88fd-4198-b287-1e6e65883b19} ProviderProperties : {BaseCrl, 48 130 2 152 48 130 1 128 2 1 1 48 13 6 9 42 134 72 134 247 13 1 1 5 5 0 48 71 4 9 19 48 17 6 10 9 146 38 137 147 242 44 100 1 25 22 3 99 111 109 49 23 48 21 6 10 9 146 38 137 147 242 44 100 1 25 22 7 99 111 110 116 111 115 111 49 23 48 21 6 3 85 4 3 19 14 99 1 11 110 116 111 115 111 45 68 67 50 45 67 65 23 13 49 50 48 53 49 51 49 49 48 50 51 57 90 2 3 13 49 50 48 53 50 48 50 51 50 50 51 57 90 48 91 48 31 2 14 101 155 179 23 53 37 15 8 0 2 0 0 5 131 23 13 49 50 48 53 48 54 49 49 51 53 48 48 90 48 27 2 10 32 26 29 24 0 2 0 0 1 1 29 23 13 49 48 49 50 50 52 49 56 48 49 48 48 90 48 27 2 10 31 211 64 105 0 2 0 0 1 126 23 13 49 48 49 50 50 52 49 56 48 49 48 48 90 160 129 167 48 129 164 48 31 6 3 85 29 35 4 24 4 8 22 128 20 157 253 252 170 197 187 38 226 196 154 213 208 75 93 106 97 10 138 186 67 48 1 8 6 9 43 6 1 4 1 130 55 21 1 4 5 2 3 2 0 2 48 11 6 3 85 29 20 4 4 2 2 16 116 48 28 6 9 43 6 1 4 1 130 55 21 4 4 15 23 13 49 50 48 53 50 48 49 49 49 50 51 57 90 48 66 6 3 85 29 46 4 59 48 57 48 55 160 53 160 51 134 49 104 116 116 112 58 47 47 119 119 119 46 99 111 110 11 6 111 115 111 46 99 111 109 47 112 107 105 47 99 111 110 116 111 115 111 45 68 67 50 45 67 65 40 50 41 43 46 99 114 108 48 13 6 9 42 134 72 134 247 13 1 1 5 5 0 3 130 1 1 0 156 239 176 50 82 182 152 141 109 146 1 34 159 198 212 222 139 111 75 202 34 219 81 91 218 47 160 188 159 228 249 133 164 153 33 24 26 55 214 208 11 189 82 186 56 116 38 224 61 30 148 63 218 121 221 136 67 7 191 198 215 242 67 218 117 108 219 222 70 179 59 85 61 12 226 50 226 204 3 166 82 24 27 27 47 174 240 240 231 71 163 189 198 130 208 45 70 38 42 17 115 82 222 6 148 136 135 85 174 225 245 242 176 6 78 190 140 62 128 91 106 95 86 58 130 196 86 228 24 1 170 12 173 118 67 246 186 112 59 183 176 78 118 138 200 254 116 36 175 94 168 16 112 165 100 54 47 110 243 54 206 147 250 205 204 175 151 8 158 95 209 94 50 10 241 188 45 11 142 27 207 149 112 99 222 46 228 250 2 5 119 39 169 172 96 113 105 195 53 140 167 13 88 214 20 8 28 38 63 37 113 147 224 27 177 59 242 214 132 106 195 108 47 163 92 48 31 25 135 186 215 117 239 61 145 115 176 93 90 62 11 5 180 55 103 70 34 138 118 213 55 114 81 33 254 38 167 226, BaseCrlUrls, http://www.contoso.com/pki/contoso-DC2-CA(2).crl...} Modified : False LocalRevocationInformation : SigningCertificateTemplate : OCSPResponseSigning CAConfig : dc2.contoso.com\contoso-DC2-CA PS C:\>
В моём случае присутствует только одна конфигурация. Что мы здесь видим:
Теперь давайте посмотрим содержимое свойства ProviderProperties. Это свойство является двумерным массивом, где первый столбец содержит название элемента конфигурации, а второй уже содержит сами значения:
PS C:\> 0..5 | %{$OCSPAdmin.OCSPCAConfigurationCollection.Item(1).ProviderProperties[$_,0]} BaseCrl BaseCrlUrls DeltaCrl RevocationErrorCode PS C:\>
Вот полный список возможных (но не факт, что они присутствуют) названий элементов провайдера отзыва:
Примечание: эти названия описаны на странице IOCSPCAConfiguration::ProviderProperties property, но на MSDN закралась ошибка. Там где Url (BaseCrlUrl и DeltaCrlUrl), в конце должна ещё присутствовать буква S (как я написал выше).
Например, на другом сервере набор свойств и их значений немного другой:
PS C:\> $OCSPAdmin.OCSPCAConfigurationCollection.Item(3).ProviderProperties BaseCrlUrls http://pkix.sysadmins.lv/pica-1.crl DeltaCrlUrls http://pkix.sysadmins.lv/pica-1+.crl RefreshTimeOut 600000 RevocationErrorCode 0 PS C:\>
И, следовательно, последовательность следования свойств может не соблюдаться. Это я к тому, что при разборе провайдеров отзыва, обязательно нужно считывать названия элементов из первого столбца, чтобы знать, что будет во втором столбце. На сегодня всё. В следующий раз мы будем удалять существующие конфигурации и создавать новые.
Ну, остаётся только понять, почему ты это не опишешь по-английски и не доставишь ссылку вот сюда: http://blogs.technet.com/b/askds/archive/2012/05/11/friday-mail-sack-mothers-day-pfffft-when-is-son-s-day.aspx#ocsp
Потому что мне в этот бложек тоже что-то надо писать. А то он и так уже поростает мхом. Ссылку на AskDS я читал и они мне напомнили, что об этом надо что-то написать. Тем более, я некоторое время назад разбирал этот вопрос детально для одного проекта.
Comments: