DeriveSecretAgreementHandle Method (CngKey)
Collapse the table of content
Expand the table of content

ECDiffieHellmanCng.DeriveSecretAgreementHandle Method (CngKey)


Gets a handle to the secret agreement generated between two parties, given a CngKey object that contains the second party's public key.

Namespace:   System.Security.Cryptography
Assembly:  System.Core (in System.Core.dll)

[SecurityPermissionAttribute(SecurityAction.Demand, UnmanagedCode = true)]
public SafeNCryptSecretHandle DeriveSecretAgreementHandle(
	CngKey otherPartyPublicKey


Type: System.Security.Cryptography.CngKey

An object that contains the public part of the Elliptic Curve Diffie-Hellman (ECDH) key from the other party in the key exchange.

Return Value

Type: Microsoft.Win32.SafeHandles.SafeNCryptSecretHandle

A handle to the secret agreement. This information is calculated from the current object's private key and the specified public key.

Exception Condition

otherPartyPublicKey is null.


otherPartyPublicKey is not an ECDH key, or it is not the correct size.


All other errors.


for permission to call unmanaged code. Demand value: LinkDemand. Associated enumeration: SecurityPermissionFlag.UnmanagedCode

.NET Framework
Available since 3.5
Return to top
© 2016 Microsoft