Class CpPublicKey
Represents the public key of a certificate.
Inherited Members
Namespace: CryptoPro.Security.Cryptography.X509Certificates
Assembly: CryptoPro.Security.Cryptography.dll
Syntax
public sealed class CpPublicKey
Constructors
CpPublicKey(AsymmetricAlgorithm)
Initializes a new instance of the PublicKey class using SubjectPublicKeyInfo from an AsymmetricAlgorithm.
Declaration
public CpPublicKey(AsymmetricAlgorithm key)
Parameters
| Type | Name | Description |
|---|---|---|
| AsymmetricAlgorithm | key | An asymmetric algorithm to obtain the SubjectPublicKeyInfo from. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The SubjectPublicKeyInfo could not be decoded. The ExportSubjectPublicKeyInfo() must return a valid ASN.1-DER encoded X.509 SubjectPublicKeyInfo. |
| NotImplementedException | ExportSubjectPublicKeyInfo() has not been overridden in a derived class. |
CpPublicKey(Oid, CpAsnEncodedData, CpAsnEncodedData)
Declaration
public CpPublicKey(Oid oid, CpAsnEncodedData parameters, CpAsnEncodedData keyValue)
Parameters
| Type | Name | Description |
|---|---|---|
| Oid | oid | |
| CpAsnEncodedData | parameters | |
| CpAsnEncodedData | keyValue |
Properties
EncodedKeyValue
Declaration
public CpAsnEncodedData EncodedKeyValue { get; }
Property Value
| Type | Description |
|---|---|
| CpAsnEncodedData |
EncodedParameters
Declaration
public CpAsnEncodedData EncodedParameters { get; }
Property Value
| Type | Description |
|---|---|
| CpAsnEncodedData |
Key
Declaration
public AsymmetricAlgorithm Key { get; }
Property Value
| Type | Description |
|---|---|
| AsymmetricAlgorithm |
Oid
Declaration
public Oid Oid { get; }
Property Value
| Type | Description |
|---|---|
| Oid |
Methods
CreateFromSubjectPublicKeyInfo(ReadOnlySpan<byte>, out int)
Creates a new instance of PublicKey from a X.509 SubjectPublicKeyInfo.
Declaration
public static CpPublicKey CreateFromSubjectPublicKeyInfo(ReadOnlySpan<byte> source, out int bytesRead)
Parameters
| Type | Name | Description |
|---|---|---|
| ReadOnlySpan<byte> | source | The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding. |
| int | bytesRead | When this method returns, contains a value that indicates the number of bytes read from
|
Returns
| Type | Description |
|---|---|
| CpPublicKey | A public key representing the SubjectPublicKeyInfo. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The SubjectPublicKeyInfo could not be decoded. |
ExportSubjectPublicKeyInfo()
Exports the current key in the X.509 SubjectPublicKeyInfo format.
Declaration
public byte[] ExportSubjectPublicKeyInfo()
Returns
| Type | Description |
|---|---|
| byte[] | A byte array containing the X.509 SubjectPublicKeyInfo representation of this key. |
GetDSAPublicKey()
Declaration
public DSA? GetDSAPublicKey()
Returns
| Type | Description |
|---|---|
| DSA | The public key, or null if the key is not an DSA key. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The key contents are corrupt or could not be read successfully. |
GetECDiffieHellmanPublicKey()
Gets the ECDiffieHellman public key, or null if the key is not an ECDiffieHellman key.
Declaration
public ECDiffieHellman? GetECDiffieHellmanPublicKey()
Returns
| Type | Description |
|---|---|
| ECDiffieHellman | The public key, or null if the key is not an ECDiffieHellman key. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The key contents are corrupt or could not be read successfully. |
GetECDsaPublicKey()
Declaration
public ECDsa? GetECDsaPublicKey()
Returns
| Type | Description |
|---|---|
| ECDsa | The public key, or null if the key is not an ECDsa key. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The key contents are corrupt or could not be read successfully. |
GetGost3410PublicKey()
Declaration
public Gost3410? GetGost3410PublicKey()
Returns
| Type | Description |
|---|---|
| Gost3410 | The public key, or null if the key is not an GOST key. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The key contents are corrupt or could not be read successfully. |
GetGost3410_2012_256PublicKey()
Gets the Gost3410_2012_256 public key, or null if the key is not an GOST key.
Declaration
public Gost3410_2012_256? GetGost3410_2012_256PublicKey()
Returns
| Type | Description |
|---|---|
| Gost3410_2012_256 | The public key, or null if the key is not an GOST key. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The key contents are corrupt or could not be read successfully. |
GetGost3410_2012_512PublicKey()
Gets the Gost3410_2012_512 public key, or null if the key is not an GOST key.
Declaration
public Gost3410_2012_512? GetGost3410_2012_512PublicKey()
Returns
| Type | Description |
|---|---|
| Gost3410_2012_512 | The public key, or null if the key is not an GOST key. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The key contents are corrupt or could not be read successfully. |
GetRSAPublicKey()
Declaration
public CpRSA? GetRSAPublicKey()
Returns
| Type | Description |
|---|---|
| CpRSA | The public key, or null if the key is not an RSA key. |
Exceptions
| Type | Condition |
|---|---|
| CryptographicException | The key contents are corrupt or could not be read successfully. |
TryExportSubjectPublicKeyInfo(Span<byte>, out int)
Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.
Declaration
public bool TryExportSubjectPublicKeyInfo(Span<byte> destination, out int bytesWritten)
Parameters
| Type | Name | Description |
|---|---|---|
| Span<byte> | destination | The byte span to receive the X.509 SubjectPublicKeyInfo data. |
| int | bytesWritten | When this method returns, contains a value that indicates the number of bytes written to
|
Returns
| Type | Description |
|---|---|
| bool | true if |