Задача уйти от ошибки в проверки подписи объекта SignedXml. Проблема в том, что после последних обновлений windows, они отключили поддержку алгоритма
http://www.w3.org/2000/09/xmldsig#rsa-sha1
Но проблема в том, что он является дефолтным для
X509Certificate2.PrivateKey
И этот
public AsymmetricAlgorithm PrivateKey { get; set; }
//
// Сводка:
// Получает объект System.Security.Cryptography.X509Certificates.X509Certificate2.PublicKey,
// связанный с сертификатом.
//
// Возвращает:
// Объект System.Security.Cryptography.X509Certificates.X509Certificate2.PublicKey.
//
// Исключения:
// System.Security.Cryptography.CryptographicException:
// Значение ключа не является значением RSA или DSA, или ключ не читается.
По дефолту имеет именно алгоритм rsa-sha1. И я не знаю как его подменить(Наследовать все классы из задачи включая SignedXml-кажется плохим решением)? Буду рад любой информации по вопросу! На сайте msdn мне ответили, что нужно изначально иметь сертификаты с другим алгоритмом Вопрос на MSDN. А вот на форуме КриптоПро, что алгоритм можно использовать другой.Вопрос на форуме КриптоПро.
Судя по документации MSDN, можно. Для этого надо:
X509AsymmetricSecurityKey
.KeySize
. Это свойство возвращает размер ключа сертификата (пары публичный/приватный ключ)DecryptKey
. Этот метод вызывается WCF, чтобы расшифровать симметричный ключ с помощью приватного ключа сертификата.GetAsymmetricAlgorithm
. Этот метод вызывается WCF и возвращает экземпляр класса AsymmetricAlgorithm
, представляющего собой криптопровайдер для приватного или публичного ключа сертификата, в зависимости от переданного параметра.GetHashAlgorithmForSignature
. Переопределите этот метод, если вам нужно использовать другую реализацию HashAlgorithm
.GetSignatureFormatter
. Этот метод возвращает экземпляр класса AsymmetricSignatureFormatter
, связанный с приватным ключом экземпляра.IsSupportedAlgorithm
. Этот метод используется для проверки поддержки криптографического алгоритма данной реализацией ключа.Также потребуется:
X509SecurityToken
, использующего кастомный ключ.SecurityTokenProvider
, возвращающего кастомный токен из п.1.ClientCredentialsSecurityTokenManager
, если ключ нужен на стороне клиента.ServiceCredentialsSecurityTokenManager
, если ключ нужен на стороне сервера.Подробнее в статье Изменение поставщика служб шифрования для закрытого ключа сертификата X.509 на MSDN.
Виртуальный выделенный сервер (VDS) становится отличным выбором
При наведении на кнопку теряется фокус при положении курсора в пустом месте между границей кнопки и надписью кнопки
Всем приветНадеюсь, что здесь я найду ответ на интересующий меня вопрос
Всем приветИнтересна такая вещь,можно ли получить знаки сравнения (> < = >= <=) из string и потом использовать их?