Apache CXF + Spring: простая проверка подлинности сертификата

Я начал изучать Apache CXF с помощью Spring. Прежде всего, я создал простую модель клиент / сервер: см. Здесь

Теперь я пытаюсь использовать простую аутентификацию по сертификату. Итак, я изменил файлы конфигурации (для сервера и клиента): cxf-servlet.xml :





    
        
    
    
       
       
    



    
        
            
            
                
            
            
        
    


server_sign.properties :

org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=keyStorePassword
org.apache.ws.security.crypto.merlin.file=publicstore.jks

cxf-client-servlet.xml :






    
    
    
        
            
            
        
    



    
        
            
            
             
                
            
            
        
    



Клиент работает отлично. Он использует его PasswordCallbackHandler. Проблема в том, что сервер, похоже, не использует свой PasswordCallbackHandler. Я запустил сервер в режиме отладки, но он не попадает в этот класс. Кто-нибудь может объяснить, что я делаю не так?

Заранее спасибо.

ПРОГРЕСС:

  1. при попытке предоставить запрос от пользователя, сертификата которого нет в хранилище ключей сервера, возникает ошибка («Для подписи не найдены сертификаты для пользователя ws-client1»)

  2. из ресурс : "Как вы можете видеть в файле jbossws-cxf.xml выше, также настроен обработчик обратного вызова пароля хранилища ключей; хотя файл свойств имеет пароль для хранилища ключей, этот обработчик обратного вызова используется для установки пароля для каждого ключа (он должен совпадать с тем, который использовался при импорте каждого ключа в хранилище). "

6
задан Community 23 May 2017 в 11:59
поделиться