Как КОРНЕВОЙ CA проверяет подпись?

Если ваш запрос находится непосредственно в наборе данных отчета (поэтому НЕ является хранимой процедурой), тогда ваш последний SELECT сработает

SELECT * FROM table WHERE value in (@parameter)

SSRS преобразует значения в список через запятую и вставит их в ваш скрипт так что вам не нужно ничего делать.

31
задан codeforester 25 July 2018 в 13:41
поделиться

4 ответа

Ваш сервер создает пару ключей, состоя из частного и открытого ключа. Сервер никогда не выделяет закрытый ключ, конечно, но все могут получить копию открытого ключа. Открытый ключ встраивается в формате контейнера сертификата (X.509). Этот контейнер состоит из метаинформации, связанной с обернутым ключом, например, IP-адресом или доменным именем сервера, владельцем того сервера, почтового контактного адреса, когда ключ был создан, сколько времени это допустимо, для которых целей это может использоваться для, и много других возможных значений.

целый контейнер подписывается доверенным центром сертификации (= CA). CA также имеет частную/с открытым ключом пару. Вы даете им свой сертификат, они проверяют, что информация в контейнере корректна (например, корректная контактная информация, делает тот сертификат, действительно принадлежат тому серверу), и наконец подпишите его с их закрытым ключом. Открытый ключ CA должен быть установлен в пользовательской системе. Большинство известных сертификатов CA уже включено в стандартной установке Вашей любимой ОС или браузера.

, Когда теперь пользователь соединяется с Вашим сервером, Ваш сервер использует закрытый ключ для подписания некоторых случайных данных, пакеты, которые подписали данные вместе с его сертификатом (= открытый ключ + метаинформация) и отправляют все клиенту. Что клиент может сделать с той информацией?

, В первую очередь, это может использовать открытый ключ в рамках сертификата, который это просто было отправлено для проверки данных со знаком. Так как только владелец закрытого ключа в состоянии подписать данные правильно таким способом, которым открытый ключ может правильно проверить подпись, это будет знать, что, кто бы ни подписал эту часть данных, этот человек также владеет закрытым ключом к полученному открытому ключу.

, Но что мешает хакеру прервать пакет, заменяя данные со знаком данными, которые он подписал сам с помощью другого сертификата и также заменяет сертификат своим собственным? Ответ - просто ничто.

Вот почему после того, как данные со знаком были проверены (или прежде чем они будут проверены), клиент проверяет, что полученный сертификат имеет допустимую подпись CA. Используя уже установленный общедоступный ключ CA, это проверяет, что полученный открытый ключ был подписан известным и надо надеяться доверяемый Приблизительно. Сертификату, который не подписывается, не доверяют по умолчанию. Пользователь должен явно положить что сертификат своему браузеру.

Наконец это проверяет информацию в рамках самого сертификата. IP-адрес или доменное имя действительно соответствуют IP-адресу или доменному имени сервера, с которым в настоящее время говорит клиент? В противном случае что-то подозрительно!

Люди могут задаться вопросом: Что останавливает хакера от просто создания его собственной пары ключей и просто ставить Ваше доменное имя или IP-адрес в его сертификат, и затем это подписалось CA? Легкий ответ: Если он сделает это, то никакой CA не подпишет его сертификат. Для получения подписи CA необходимо доказать, что Вы - действительно владелец этого IP-адреса или доменного имени. Хакер не является владельцем, таким образом он не может доказать, что и таким образом не получит подпись.

, Но что, если хакер регистрирует свой собственный домен, создает сертификат для этого, и которые подписались CA? Это работает, он получит его, CA подписался, это - его домен, в конце концов. Однако он не может использовать его для взламывания Вашего соединения. Если он будет использовать этот сертификат, то браузер будет сразу видеть, что открытый ключ со знаком для домена example.net, но он в настоящее время говорит с example.com, не тем же доменом, таким образом что-то неправильно снова.

74
ответ дан Mecki 27 November 2019 в 21:40
поделиться

Сертификат сервера подписывается с закрытым ключом Приблизительно. Браузер использует открытый ключ CA для проверки подписи. Нет никакой прямой связи между браузером и Приблизительно

, важный момент - то, что браузер поставлется с общедоступным ключом CA. Таким образом, браузер знает заранее всю АВАРИЮ, которой он может доверять.

, Если Вы не понимаете это, ищите основы Криптографии с асимметричными шифрами и Цифровых подписей.

9
ответ дан Johnny Utahh 27 November 2019 в 21:40
поделиться

Сертификаты основаны на использовании асимметричного шифрования как RSA. У Вас есть два ключа, традиционно названные закрытыми и открытыми ключами. Что-то, что Вы шифруете с закрытым ключом, может только быть дешифровано с помощью открытого ключа. (И, на самом деле, наоборот.)

можно думать о сертификате как о том, чтобы быть похожем на паспорт или водительские права: это - учетные данные, которые говорят, что "это - то, кто я; можно доверять ему, потому что это было дано мне кем-то (как Verisign), Вы доверяете". Это сделано с "подписью", которая может быть вычислена с помощью открытого ключа центра сертификации. Если данные - то, что CA получил первоначально, можно проверить сертификат

, сертификат содержит информацию об идентификации о владельце сертификата при получении его Вы используете комбинацию ключа, который Вы знаете от своих доверяемых полномочий, чтобы подтвердить, что сертификат, который Вы получили, действителен, и что можно поэтому вывести Вас, доверяют человеку, который выпустил сертификат

3
ответ дан Charlie Martin 27 November 2019 в 21:40
поделиться

Ваш браузер не просит, чтобы CA проверил, вместо этого он имеет копию корневых сертификатов, локально сохранил, и он будет использовать стандартную криптографическую процедуру, чтобы проверить, что сертификат действительно действителен.

Поэтому сам при подписании сертификата, сертификат не действителен, eventhough технически существует CA для выяснения, Вы могли от курса копировать сам, подписал CA к Вашему компьютеру, и с тех пор он будет доверять Вашему сам подписанные сертификации.

CACert.org имеет эту ту же проблему, она имеет действительные сертификаты, но так как браузеры не имеют ее корневых сертификатов в своем списке, их сертификаты генерируют предупреждения, пока пользователи не загружают корневой CA и добавляют их к их браузеру.

0
ответ дан X-Istence 27 November 2019 в 21:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: