配置文件有下列节头声明。
<section name="securityCryptographyConfiguration"
type="Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Configuration.CryptographySettings,
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null" />
节处理器声明包含了配置设置节的名称和处理在配置节中的配置数据的节处理器类的名称。配置设置节的名称是 securityCryptographyConfiguration ,节处理器类的名称是 CryptographySettings。它在 Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Configuration 命名空间中。
securityCryptographyConfiguration 元素
此 securityCryptographyConfigration 元素指定了加密应用程序块的配置。此元素是必须的。
属性和子元素
下面的节描述了 securityCryptographyConfiguration 元素的属性和子元素。
属性
表1 列出了 securityCryptographyConfiguration 元素的属性
属性 | 描述 |
---|---|
defaultHashInstance | 如果在代码中没有指定,所使用的哈希实例。此属性是可选的。 |
defaultSymmetricCryptoInstance | 如果在代码中没有指定,所使用的对称密钥实例。此属性是可选的。 |
hashProviders 子元素
hashProviders 元素是 securityCryptographyConfiguration 元素的一个子元素,它列出了可以被应用程序所使用的哈希提供程序。此元素是可选的。
add 子元素
add 元素是 hashProvider 元素的一个子元素。 add 元素添加提供程序的名称。此元素是可选的。可以有多个 add 元素。
属性
表 2 列出了 add 元素的属性
属性 | 描述 |
---|---|
name | 哈希提供程序的名称。名称在节中必须唯一。此属性是必需的。 |
type | 派生自 HashAlgorithmProvider 类的类的类型名称。此属性是必需的。 |
algorithmType | 派生自 HashAlgorithm 类的类的类型名称。此属性是必需的。 |
saltEnabled | 指定 salt 是否可用,可能的值是 true 和 false 。此属性是必需的。 |
protectedKeyFilename | 指定绝对路径和包含加密的密钥的文件的文件名。此属性对于有密钥的哈希算法是必需的。 |
protectedKeyProtectionScope | 指定是使用机器存储来存储秘密还是使用用户存储。可能的值是 CurrentUser 和 LocalMachine。此属性对于有密钥的哈希算法是必需的。 |
symmetricCryptoProviders 子元素
symmetricCryptoProviders 元素是 securityCryptographyConfiguration 元素的子元素。它列出了可被应用程序使用的对称加密提供程序。此元素是可选的。
add 子元素
add 元素是 symmetricCryptoProviders 元素的一个子元素。 add 元素添加一个哈希提供程序的名称。此元素是可选的。可以有多个 add 元素。
属性
表3列出了 add 元素的属性
属性 | 描述 |
---|---|
name | 对称加密提供程序的名称。名称在节中必须唯一。此属性是必需的。 |
type | 派生自 SymmetricAlgorithmProvider 类或者 DpapiSymmetricCryptoProvider 类的类的类型名称。此属性是必需的。 |
algorithmType | 派生自 SymmetricAlgorithm 类的类的类型名称。此属性是必需的。( 对 DPAPI 提供程序无效。) |
protectedKeyFilename | 指定绝对路径和包含加密的密钥的文件的文件名。此属性是必需的。( 对 DPAPI 提供程序无效。) |
protectedKeyProtectionScope | 指定是使用机器存储来存储秘密还是使用用户存储。可能的值是 CurrentUser 和 LocalMachine。此属性是必需的。( 对 DPAPI 提供程序无效。) |