Пример #1
0
        internal static string ToXmlString(ECParameters parameters)
        {
            var xml      = new StringBuilder();
            var settings = new XmlWriterSettings
            {
                OmitXmlDeclaration = true,
#if DEBUG
                Indent      = true,
                IndentChars = "  ",
#endif
            };

            using (XmlWriter writer = XmlWriter.Create(xml, settings))
            {
                writer.WriteStartElement(ECDsaKeyValueTag, Namespace);
                writer.WriteAttributeString(null, XmlnsPrefix, null, Namespace);
                writer.WriteAttributeString(XmlnsPrefix, XsiPrefix, null, XmlSchema.InstanceNamespace);
                WriteDomainParameters(writer, parameters.Curve);
                WriteECPoint(writer, PublicKeyTag, Namespace, parameters.Q);
                writer.WriteEndElement();
            }

            return(xml.ToString());
        }
Пример #2
0
 public override void CheckKeyGeneration(ECParameters parameters)
 => base.CheckKeyGeneration(parameters);
Пример #3
0
 public void CheckWriteAndReadXmlString(ECParameters parameters)
 => WriteAndReadXmlString(parameters);
Пример #4
0
 public void ExportParametersTest(ECParameters parameters)
 => CheckExportParameters(parameters);
Пример #5
0
 public void VerifyHashTestCases(ECParameters parameters, string hashHex, string signatureHex)
 => Assert.True(VerifyHash(parameters, hashHex, signatureHex));
Пример #6
0
 public override void SignAndVerifyHash(ECParameters parameters)
 => base.SignAndVerifyHash(parameters);
Пример #7
0
 public new void SignAndVerifyHash(ECParameters parameters)
 => base.SignAndVerifyHash(parameters);
Пример #8
0
 public abstract void ImportParameters(ECParameters parameters);
Пример #9
0
 protected bool VerifyHash(ECParameters parameters, string hashHex, string signatureHex)
 => VerifyHash(parameters, hashHex.HexToByteArray(), signatureHex.HexToByteArray());
Пример #10
0
 protected bool VerifyHash(ECParameters parameters, byte[] hash, byte[] signature)
 {
     using var algorithm = Create(parameters);
     return(algorithm.VerifyHash(hash, signature));
 }
Пример #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GostECDsa512Managed" /> class
 /// with a specified <see cref="ECParameters"/>.
 /// </summary>
 /// <param name="parameters">
 /// The elliptic curve parameters. Valid key size is 512 bits.
 /// </param>
 /// <exception cref="CryptographicException">
 /// <paramref name="parameters"/> specifies an invalid key length.
 /// </exception>
 public GostECDsa512Managed(ECParameters parameters)
 {
     ImportParameters(parameters);
 }
Пример #12
0
        /// <summary>
        /// Creates and returns an XML string representation of the current
        /// <see cref="GostECDsa"/> object.
        /// </summary>
        /// <param name="includePrivateParameters">
        /// <c>true</c> to include private parameters; otherwise, <c>false</c>.
        /// </param>
        /// <returns>
        /// An XML string encoding of the current <see cref="GostECDsa"/> object.
        /// </returns>
        public sealed override string ToXmlString(bool includePrivateParameters)
        {
            ECParameters parameters = ExportParameters(includePrivateParameters);

            return(ECParametersFormatter.ToXmlString(parameters));
        }