Я хочу зашифровать SOAP-сообщение открытым ключом Сервера и подписывать одно и то же сообщение с закрытым ключом клиента. В идеале ключи для подписи и шифрования различны.Подписание и шифрование сообщения SOAP с использованием Apache Rampart
Обращался к примерам Apache Rampart из команды WSO2. Один из таких образцов Rampart конфигурации приведены в:
RampartConfig rampartConfig = new RampartConfig();
Properties merlinProp = new Properties();
merlinProp.put("org.apache.ws.security.crypto.merlin.keystore.type", "JKS");
merlinProp.put("org.apache.ws.security.crypto.merlin.file","C:/Documents and Settings/abdul.mujeeb/workspace/Axis2Clients/src/certs/oasis.jks");
merlinProp.put("org.apache.ws.security.crypto.merlin.keystore.password", "password");
CryptoConfig sigCryptoConfig = new CryptoConfig();
sigCryptoConfig.setProvider("org.apache.ws.security.components.crypto.Merlin");
sigCryptoConfig.setProp(merlinProp);
CryptoConfig encrCryptoConfig = new CryptoConfig();
encrCryptoConfig.setProvider("org.apache.ws.security.components.crypto.Merlin");
encrCryptoConfig.setProp(merlinProp);
rampartConfig.setUserCertAlias("alice");
rampartConfig.setEncryptionUser("bob1");
rampartConfig.setSigCryptoConfig(sigCryptoConfig);
rampartConfig.setEncrCryptoConfig(encrCryptoConfig);
rampartConfig.setPwCbClass("com.rolta.axis2.client.UserNameCallbackHandler");
пример не где не определяет открытый ключ сервера, которые будут использоваться для шифрования сообщения.
Несколько вопросов из приведенного выше примера:
1) Что функция rampartConfig.setEncryptionUser() обозначает? Как шифровать сообщение SOAP с помощью открытого ключа сервера?
2) Что означает функция rampartConfig.setUserCertAlias () для? Подписание? Шифрование или и то, и другое?
Спасибо.
Nufail: Получил это. Спасибо за объяснение и ссылки. – Abdul
привет, вы можете ответить [this] (http://stackoverflow.com/questions/28872116/securing-soap-webservices-with-apache-rampart) вопрос – dileepVikram