Я реализую клиент с Python, скрутил, который проверяет сертификат SSL сервера при соединении, после в основном этого рецепта. Я видел во многих ПРАКТИЧЕСКИХ РУКОВОДСТВАХ, таких как этот сервер, проверяющий подлинность клиента через сертификат SSL также. В настоящее время я аутентифицирую свои клиенты, использующие уникальный идентификатор и 1 024 символьных строки (они - автоматизированные клиенты без человеческого взаимодействия).
То, что я не понимаю, - то, какая причина была бы, я должен использовать целую ssl вещь для этого вместо того, чтобы просто отправить "пароль" на сервер. После того, как все соединение уже ssl зашифровано, проверяя сертификат сервера и все. Это - подобный вопрос, но я хочу знать, почему люди используют ssl клиентские сертификаты и не, что лучший способ состоит в том, чтобы сделать это вместо этого.
Сертификаты легко отозвать. Пароли можно украсть, но украсть сертификат клиентской стороны будет гораздо сложнее.
(из моего предыдущего комментария)
Можно нарисовать пользовательскую рамку окна, как описано в этой статье MSDN: http://msdn.microsoft.com/en-us/library/bb688195 (VS.85) .aspx , которая включает информацию о рисовании подписи окна шрифтом системной темы (которая может дать подсказки о доступе к другой информации о теме).
-121--3409464-Неизвестно,
Вот пошаговое сообщение для создания приложения Silverlight, которое отображает карту Bing США и добавляет кнопку в каждом выбранном месте. И просто для удовольствия я добавил некоторые функции «hover», когда вы просматриваете pushpins.
Шаг 1 : Создание примера приложения Silverlight с помощью Visual Studio (Файл/Новый проект/Приложение Silverlight)
Шаг 2 : Добавление двух ссылок DLL Bing в проект приложения Silverlight
Папка: C :\Program Files\Bing Maps SIlverlight Control\verlight\V1\ Файл 1: Microsoft.Maps.MapControl.dll Файл 2: Microsoft.Maps.MapControl.Common.dll
Шаг 3 : Отредактировать MainPage.xaml и добавить следующее пространство имен наверху:
xmlns:Maps="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"
Шаг 4 : Отредактировать MainPage.xaml и поместить следующий кодекс в Сетке UserControl:
<Maps:Map x:Name="x_Map" Center="39.36830,-95.27340" ZoomLevel="4" />
Шаг 5 : Отредактировать MainPage.cs и добавить следующее заявление использования:
using Microsoft.Maps.MapControl;
Шаг 6 : Отредактировать MainPage.cs и заменить класс MainPage следующим кодексом:
public partial class MainPage : UserControl
{
private MapLayer m_PushpinLayer;
public MainPage()
{
InitializeComponent();
base.Loaded += OnLoaded;
}
private void OnLoaded(object sender, RoutedEventArgs e)
{
base.Loaded -= OnLoaded;
m_PushpinLayer = new MapLayer();
x_Map.Children.Add(m_PushpinLayer);
x_Map.MouseClick += OnMouseClick;
}
private void AddPushpin(double latitude, double longitude)
{
Pushpin pushpin = new Pushpin();
pushpin.MouseEnter += OnMouseEnter;
pushpin.MouseLeave += OnMouseLeave;
m_PushpinLayer.AddChild(pushpin, new Location(latitude, longitude), PositionOrigin.BottomCenter);
}
private void OnMouseClick(object sender, MapMouseEventArgs e)
{
Point clickLocation = e.ViewportPoint;
Location location = x_Map.ViewportPointToLocation(clickLocation);
AddPushpin(location.Latitude, location.Longitude);
}
private void OnMouseLeave(object sender, MouseEventArgs e)
{
Pushpin pushpin = sender as Pushpin;
// remove the pushpin transform when mouse leaves
pushpin.RenderTransform = null;
}
private void OnMouseEnter(object sender, MouseEventArgs e)
{
Pushpin pushpin = sender as Pushpin;
// scaling will shrink (less than 1) or enlarge (greater than 1) source element
ScaleTransform st = new ScaleTransform();
st.ScaleX = 1.4;
st.ScaleY = 1.4;
// set center of scaling to center of pushpin
st.CenterX = (pushpin as FrameworkElement).Height / 2;
st.CenterY = (pushpin as FrameworkElement).Height / 2;
pushpin.RenderTransform = st;
}
}
Шаг 7 : Построить и Пробег!
Ура, Джим МакКарди
-121--2943706-Сертификат клиента ограничивает доступ к людям, авторизованным с сертификатами. Предполагая, что ваши сертификаты распределены и управляются правильно, это затрудняет подключение из неавторизованного местоположения (или, скажем, из бот-сети), так как вам нужно больше, чем просто имя пользователя и пароль.
Сертификаты на стороне клиента являются потенциальной частью стратегии углубленной защиты, если вы находитесь в среде, в которой вы можете управлять сертификатами клиента.
, владеющие сертификатами SSL, подписанные авторитетом сертификата, означает, что владельцы сертификатов SSL поступили через хлопот быть проверенным в том, что владелец кто они говорят, они есть. Например, если у вас есть магазин электронной коммерции называется widgetsdeluxe.com, и у вас есть сертификат для доменного widgetsdeluxe.com, который был подписан Verisign et. Al., Покупатели будут знать, что, когда они пойдут на этот сайт, и имя на сертификате соответствует фактическому доменному имени, которому они пошли, то они могут доверять, чтобы информация была обеспечена и исходит из домена Widgetsdeluxe.com (это предотвратить поддельные атаки и атаки человека).
Проверка сертификата гарантирует, что вы подключаетесь к тому, к кому предполагаете подключиться. Это предотвращает атаку "человека посередине".
Смотрите http://www.thoughtcrime.org/software/sslsniff/ для соответствующего случая, когда клиенты некорректно проверяют цепочку сертификатов, в результате чего довольно легко использовать SSL с помощью атаки "человек посередине".