Click or drag to resize

IEncryptedDbProvider Interface

Represents a DB provider that can perform Application Level Encryption

Namespace: SanteDB.OrmLite.Providers
Assembly: SanteDB.OrmLite (in SanteDB.OrmLite.dll) Version: 3.0.2081-alpha+d0a78774d3f97b9193d2ae2fef6d129ea9f29519
Syntax
public interface IEncryptedDbProvider : IDbProvider

The IEncryptedDbProvider type exposes the following members.

Properties
 NameDescription
Public propertyCanCancelCommands True if this provider can cancel commands
(Inherited from IDbProvider)
Public propertyConnectionString Read/write connection string
(Inherited from IDbProvider)
Public propertyInvariant Get name of the provider
(Inherited from IDbProvider)
Public propertyMonitorProbe Gets the prove for the provider
(Inherited from IDbProvider)
Public propertyReadonlyConnectionString Readonly (mirror) connection string
(Inherited from IDbProvider)
Public propertyStatementFactory Gets the statement factory for this provider
(Inherited from IDbProvider)
Public propertyTraceSql Trace SQL commands
(Inherited from IDbProvider)
Top
Methods
 NameDescription
Public methodCloneConnection Get connection to a specified connection string
(Inherited from IDbProvider)
Public methodConvertValue(Object, Type) Convert value
(Inherited from IDbProvider)
Public methodConvertValueT(Object) Convert value
(Inherited from IDbProvider)
Public methodCreateCommand(DataContext, SqlStatement) Creates a command on the specified transaction
(Inherited from IDbProvider)
Public methodCreateCommand(DataContext, String, Object) Create command with specified text and parameters
(Inherited from IDbProvider)
Public methodCreateStoredProcedureCommand Creates a stored procedure call command
(Inherited from IDbProvider)
Public methodGetDatabaseName Get the name of the database
(Inherited from IDbProvider)
Public methodGetEncryptionProvider Get the encryption provider
Public methodGetReadonlyConnection Retrieves a readonly connection
(Inherited from IDbProvider)
Public methodGetWriteConnection Retrieves a read/writer connection
(Inherited from IDbProvider)
Public methodInitializeConnection Allows te database connection provider to initialize the connection
(Inherited from IDbProvider)
Public methodMapParameterType Map a type to parameter type
(Inherited from IDbProvider)
Public methodMapSchemaDataType Map datatype
(Inherited from IDbProvider)
Public methodMigrateEncryption Migrate the encryption
Public methodOptimize Optimize the databases
(Inherited from IDbProvider)
Public methodSetEncryptionSettings Set the encryption certificate
Top
Extension Methods
 NameDescription
Public Extension MethodCreateBackupAsset Create a backup asset for a provider
(Defined by SqlFeatureUtil)
Public Extension MethodGetDataConfigurationProvider Get the configuration provider
(Defined by SqlFeatureUtil)
Public Extension MethodRestoreBackupAsset Restore a backup asset
(Defined by SqlFeatureUtil)
Public Extension MethodUpgradeSchema Upgrade schema
(Defined by SqlFeatureUtil)
Public Extension MethodUpgradeSchema Upgrade the schema
(Defined by SqlFeatureUtil)
Top
Remarks

Some database management systems don't have the ability to perform Transparent Data Encryption, this marker interface is used so that SanteDB can encrypt data at the application layer as a fallback. There are several disadvantages to using ALE, namely that searching must be performed on exact matching and the application server is responsible for encrypting data to/from the database. This interface allows the ORM components to encrypt data using a Symmetric Master Key (SMK) which is encrypted and stored in the database using the application master key (AMK) which is on the application server represented by [!:EncryptionCertificate].

The ORM components then use the GetEncryptionProvider method to encrypt and decrypt any columns which are annotated with ApplicationEncryptAttribute transaprently from the caller

See Also