StellaOps.Cryptography.PluginLoader
Configuration for crypto plugin loading and selection.
Path to the plugin manifest JSON file.
Plugin discovery mode: "explicit" (only load configured plugins) or "auto" (load all compatible plugins).
Default: "explicit" for production safety.
List of plugins to enable with optional priority and options overrides.
List of plugin IDs or patterns to explicitly disable.
Fail application startup if a configured plugin cannot be loaded.
Require at least one crypto provider to be successfully loaded.
Compliance profile configuration.
Configuration entry for an enabled plugin.
Plugin identifier from the manifest.
Priority override for this plugin (higher = preferred).
Plugin-specific options (e.g., enginePath for OpenSSL GOST).
Compliance profile configuration for regional crypto requirements.
Compliance profile identifier (e.g., "gost", "fips", "eidas", "sm").
Enable strict validation (reject algorithms not compliant with profile).
Enforce jurisdiction filtering (only load plugins for specified jurisdictions).
Allowed jurisdictions (e.g., ["russia"], ["eu"], ["world"]).
Loads crypto provider plugins dynamically based on manifest and configuration.
Initializes a new instance of the class.
Plugin configuration.
Optional logger instance.
Optional plugin directory path. Defaults to application base directory.
Loads all configured crypto providers.
Collection of loaded provider instances.
AssemblyLoadContext for plugin isolation.
Exception thrown when a crypto plugin fails to load.
Gets the identifier of the plugin that failed to load, if known.
Initializes a new instance of the class.
Error message.
Plugin identifier, or null if unknown.
Inner exception, or null.
Root manifest structure declaring available crypto plugins.
Gets or inits the JSON schema URI for manifest validation.
Gets or inits the manifest version.
Gets or inits the list of available crypto plugin descriptors.
Describes a single crypto plugin with its capabilities and metadata.
Unique plugin identifier (e.g., "openssl.gost", "cryptopro.gost").
Human-readable plugin name.
Assembly file name containing the provider implementation.
Fully-qualified type name of the ICryptoProvider implementation.
Capabilities supported by this plugin (e.g., "signing:ES256", "hashing:SHA256").
Jurisdiction/region where this plugin is applicable (e.g., "russia", "china", "eu", "world").
Compliance standards supported (e.g., "GOST", "FIPS-140-3", "eIDAS").
Supported platforms (e.g., "linux", "windows", "osx").
Priority for provider resolution (higher = preferred). Default: 50.
Default options for plugin initialization.
Conditional compilation symbol required for this plugin (e.g., "STELLAOPS_CRYPTO_PRO").
Whether this plugin is enabled by default. Default: true.