Глобальная конфигурация безопасности в OpenSAML 3.0+ - PullRequest
0 голосов
/ 04 октября 2018

Я обновляю OpenSAML в проекте Java 8 с версии 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 +?

1 Ответ

0 голосов
/ 06 октября 2018

Отказ от ответственности: я не использовал эти классы конфигурации безопасности раньше, но у меня есть некоторый опыт обновления с 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 с некоторыми дополнительными деталями:

Вы также можете проверить исходный код OpenSAML ;в частности, класс DefaultSecurityConfigurationBootstrap - это то, где многое настраивается.

...