示例#1
0
        public void ShouldSignXml()
        {
            // Given
            var keyContainer = TestCertificates.GetKeyContainer();
            var signingKey   = new Gost3410AsymmetricAlgorithm(keyContainer);
            var xmlDocument  = CreateXmlDocument();

            // When
            var signedXmlDocument = SignXmlDocument(xmlDocument, signingKey);

            // Then
            Assert.IsTrue(VerifyXmlDocumentSignature(signedXmlDocument));
        }
示例#2
0
        public void SetUp()
        {
            // Получатель извлекает информацию о закрытом ключе из контейнера ключей
            var keyContainer = TestCertificates.GetKeyContainer();

            // Получатель формирует закрытый ключ для дешифрации XML
            var privateKey = new Gost3410AsymmetricAlgorithm(keyContainer);

            // Получатель экспортирует отправителю информацию о своем открытом ключе
            var publicKeyInfo = privateKey.ExportParameters(false);

            // Отправитель импортирует от получателя информацию о его открытом ключе
            var publicKey = new Gost3410AsymmetricAlgorithm();

            // Отправитель формирует открытый ключ для шифрации XML
            publicKey.ImportParameters(publicKeyInfo);

            _privateKey = privateKey;
            _publicKey  = publicKey;
        }