OpenSAML 3.0+ 中的全局安全配置
Global security configuration in OpenSAML 3.0+
我正在将 Java 8 项目中的 OpenSAML 从 v 2.6.1 升级到 3.3.1
许多代码编译错误很容易修复,但我卡在了某个点上。
如果我们使用签名算法,我们之前有以下代码:
KeyPair signingKeyPair = parseKeyPair(properties.getProperty("signingKey"), properties.getProperty("signingKeyPassword"));
signingCredential = createCredential(signingKeyPair, serviceProviderID, UsageType.SIGNING);
if (properties.getProperty("signingAlgorithm") != null) {
SecurityConfiguration securityConfiguration = Configuration.getGlobalSecurityConfiguration();
if (securityConfiguration instanceof BasicSecurityConfiguration && "RSA".equals(signingCredential.getPublicKey().getAlgorithm())) {
((BasicSecurityConfiguration) securityConfiguration).registerSignatureAlgorithmURI("RSA", properties.getProperty("signingAlgorithm"));
}
}
在 OpenSAML 3.0+ 中,行 Configuration.getGlobalSecurityConfiguration();不再编译。如何在 OpenSAML 3.0+ 中获取全局安全配置?
免责声明:我以前没有使用过这些安全配置 classes,但我有一些从 OpenSAML 2.x 升级到 3.x 的经验并深入研究OpenSAML 文档和源代码找到我的方法。
我希望这能让你入门:
// initializes the various security configurations
GlobalSecurityConfigurationInitializer.init();
// fetches the various security configurations
DecryptionConfiguration dc = SecurityConfigurationSupport.getGlobalDecryptionConfiguration();
EncryptionConfiguration ec = SecurityConfigurationSupport.getGlobalEncryptionConfiguration();
SignatureSigningConfiguration ssc = SecurityConfigurationSupport.getGlobalSignatureSigningConfiguration();
SignatureValidationConfiguration svc = SecurityConfigurationSupport.getGlobalSignatureValidationConfiguration();
我不确定这些配置中的哪一个具有您需要的功能,但这里是 Javadocs 以及一些额外的细节:
- DecryptionConfiguration / BasicDecryptionConfiguration
- EncryptionConfiguration / BasicEncryptionConfiguration
- SignatureSigningConfiguration / BasicSignatureSigningConfiguration
- SignatureValidationConfiguration / BasicSignatureValidationConfiguration
你也可以check out the OpenSAML source;具体来说,DefaultSecurityConfigurationBootstrap
class 是其中很多设置的地方。
我正在将 Java 8 项目中的 OpenSAML 从 v 2.6.1 升级到 3.3.1 许多代码编译错误很容易修复,但我卡在了某个点上。
如果我们使用签名算法,我们之前有以下代码:
KeyPair signingKeyPair = parseKeyPair(properties.getProperty("signingKey"), properties.getProperty("signingKeyPassword"));
signingCredential = createCredential(signingKeyPair, serviceProviderID, UsageType.SIGNING);
if (properties.getProperty("signingAlgorithm") != null) {
SecurityConfiguration securityConfiguration = Configuration.getGlobalSecurityConfiguration();
if (securityConfiguration instanceof BasicSecurityConfiguration && "RSA".equals(signingCredential.getPublicKey().getAlgorithm())) {
((BasicSecurityConfiguration) securityConfiguration).registerSignatureAlgorithmURI("RSA", properties.getProperty("signingAlgorithm"));
}
}
在 OpenSAML 3.0+ 中,行 Configuration.getGlobalSecurityConfiguration();不再编译。如何在 OpenSAML 3.0+ 中获取全局安全配置?
免责声明:我以前没有使用过这些安全配置 classes,但我有一些从 OpenSAML 2.x 升级到 3.x 的经验并深入研究OpenSAML 文档和源代码找到我的方法。
我希望这能让你入门:
// initializes the various security configurations
GlobalSecurityConfigurationInitializer.init();
// fetches the various security configurations
DecryptionConfiguration dc = SecurityConfigurationSupport.getGlobalDecryptionConfiguration();
EncryptionConfiguration ec = SecurityConfigurationSupport.getGlobalEncryptionConfiguration();
SignatureSigningConfiguration ssc = SecurityConfigurationSupport.getGlobalSignatureSigningConfiguration();
SignatureValidationConfiguration svc = SecurityConfigurationSupport.getGlobalSignatureValidationConfiguration();
我不确定这些配置中的哪一个具有您需要的功能,但这里是 Javadocs 以及一些额外的细节:
- DecryptionConfiguration / BasicDecryptionConfiguration
- EncryptionConfiguration / BasicEncryptionConfiguration
- SignatureSigningConfiguration / BasicSignatureSigningConfiguration
- SignatureValidationConfiguration / BasicSignatureValidationConfiguration
你也可以check out the OpenSAML source;具体来说,DefaultSecurityConfigurationBootstrap
class 是其中很多设置的地方。