public static AsymmetricAlgorithm GetPrivateKeyAlgorithm(this X509Certificate2 certificate) { if (certificate == null) { throw ExceptionUtility.ArgumentNull("certificate"); } var cspParameters = GetPrivateKeyInfo(certificate); var privateKey = new Gost3410AsymmetricAlgorithm(cspParameters); return(privateKey); }
public static AsymmetricAlgorithm GetPrivateKeyAlgorithm(this X509Certificate2 certificate) { if (certificate == null) { throw ExceptionUtility.ArgumentNull("certificate"); } var cspParameters = GetPrivateKeyInfo(certificate); var privateKey = new Gost3410AsymmetricAlgorithm(cspParameters); return privateKey; }
public static AsymmetricAlgorithm GetPublicKeyAlgorithm(this X509Certificate2 certificate) { if (certificate == null) { throw ExceptionUtility.ArgumentNull("certificate"); } var cspObject = new Asn1.Common.GostKeyExchangeParameters(); cspObject.DecodeParameters(certificate.PublicKey.EncodedParameters.RawData); cspObject.DecodePublicKey(certificate.PublicKey.EncodedKeyValue.RawData); var cspBlobData = CryptoApiHelper.EncodePublicBlob(cspObject); var publicKey = new Gost3410AsymmetricAlgorithm(); publicKey.ImportCspBlob(cspBlobData); return(publicKey); }
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; }
public GostKeyValue() { Key = new Gost3410AsymmetricAlgorithm(); }
public void TearDown() { try { _privateKey.Dispose(); } finally { _privateKey = null; } try { _publicKey.Dispose(); } finally { _publicKey = null; } }
public static AsymmetricAlgorithm GetPublicKeyAlgorithm(this X509Certificate2 certificate) { if (certificate == null) { throw ExceptionUtility.ArgumentNull("certificate"); } var cspObject = new GostKeyExchangeParameters(); cspObject.DecodeParameters(certificate.PublicKey.EncodedParameters.RawData); cspObject.DecodePublicKey(certificate.PublicKey.EncodedKeyValue.RawData); var cspBlobData = CryptoApiHelper.EncodePublicBlob(cspObject); var publicKey = new Gost3410AsymmetricAlgorithm(); publicKey.ImportCspBlob(cspBlobData); return publicKey; }