Table of Contents

Class SecuritySchema.AsymmetricKey

Namespace
LinqToDB.Tools.DataProvider.SqlServer.Schemas
Assembly
linq2db.Tools.dll

sys.asymmetric_keys (Transact-SQL)

Applies to: √ SQL Server (all supported versions) √ Azure SQL Database

Returns a row for each asymmetric key.


See sys.asymmetric_keys.

[Table(Schema = "sys", Name = "asymmetric_keys", IsView = true)]
public class SecuritySchema.AsymmetricKey
Inheritance
SecuritySchema.AsymmetricKey
Extension Methods

Properties

Algorithm

Algorithm used with the key.

1R = 512-bit RSA

2R = 1024-bit RSA

3R = 2048-bit RSA

[Column("algorithm")]
[NotNull]
public string Algorithm { get; set; }

Property Value

string

AlgorithmDesc

Description of the algorithm used with the key.

RSA_512

RSA_1024

RSA_2048

[Column("algorithm_desc")]
[Nullable]
public string? AlgorithmDesc { get; set; }

Property Value

string

AsymmetricKeyID

ID of the key. Is unique within the database.

[Column("asymmetric_key_id")]
[NotNull]
public int AsymmetricKeyID { get; set; }

Property Value

int

AttestedBy

System use only.

[Column("attested_by")]
[Nullable]
public string? AttestedBy { get; set; }

Property Value

string

CryptographicProviderAlgid

Algorithm ID for the cryptographic provider. For non-Extensible Key Management keys this value will be NULL.

[Column("cryptographic_provider_algid")]
[Nullable]
public object? CryptographicProviderAlgid { get; set; }

Property Value

object

CryptographicProviderGuid

GUID for the cryptographic provider. For non-Extensible Key Management keys this value will be NULL.

[Column("cryptographic_provider_guid")]
[Nullable]
public Guid? CryptographicProviderGuid { get; set; }

Property Value

Guid?

KeyLength

Bit length of the key.

[Column("key_length")]
[NotNull]
public int KeyLength { get; set; }

Property Value

int

Name

Name of the key. Is unique within the database.

[Column("name")]
[NotNull]
public string Name { get; set; }

Property Value

string

PrincipalID

ID of the database principal that owns the key.

[Column("principal_id")]
[Nullable]
public int? PrincipalID { get; set; }

Property Value

int?

ProviderType

Type of cryptographic provider:

CRYPTOGRAPHIC PROVIDER = Extensible Key Management keys

NULL = Non-Extensible Key Management keys

[Column("provider_type")]
[Nullable]
public string? ProviderType { get; set; }

Property Value

string

PublicKey

Public key.

[Column("public_key")]
[NotNull]
public byte[] PublicKey { get; set; }

Property Value

byte[]

PvtKeyEncryptionType

How the key is encrypted.

NA = Not encrypted

MK = Key is encrypted by the master key

PW = Key is encrypted by a user-defined password

SK = Key is encrypted by service master key.

[Column("pvt_key_encryption_type")]
[NotNull]
public string PvtKeyEncryptionType { get; set; }

Property Value

string

PvtKeyEncryptionTypeDesc

Description of how the private key is encrypted.

NO_PRIVATE_KEY

ENCRYPTED_BY_MASTER_KEY

ENCRYPTED_BY_PASSWORD

ENCRYPTED_BY_SERVICE_MASTER_KEY

[Column("pvt_key_encryption_type_desc")]
[Nullable]
public string? PvtKeyEncryptionTypeDesc { get; set; }

Property Value

string

SID

Login SID for this key. For Extensible Key Management keys this value will be NULL.

[Column("sid")]
[Nullable]
public byte[]? SID { get; set; }

Property Value

byte[]

StringSID

String representation of the login SID of the key. For Extensible Key Management keys this value will be NULL.

[Column("string_sid")]
[Nullable]
public string? StringSID { get; set; }

Property Value

string

Thumbprint

SHA-1 hash of the key. The hash is globally unique.

[Column("thumbprint")]
[NotNull]
public byte[] Thumbprint { get; set; }

Property Value

byte[]