WEB开发网
开发学院软件开发Java Java Web 服务: Axis2 WS-Security 签名和加密 阅读

Java Web 服务: Axis2 WS-Security 签名和加密

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 密码回调类与 “Axis2 WS-Security 基础” 中使用的类稍有不同,在那篇文章中,Java Web 服务: Axis2 WS-Security 签名和加密(8),只需要在服务器使用密码回调,并且只需要检验(用于明文式 UsernameToken)或设置(用于散

密码回调类与 “Axis2 WS-Security 基础” 中使用的类稍有不同。在那篇文章中,只需要在服务器使用密码回调,并且只需要检验(用于明文式 UsernameToken)或设置(用于散列式 UsernameToken)与特定用户名匹配的密码。对于本文使用的公开密匙加密,回调必须提供用于保护 keystore 内的私有密匙的密码。并且需要对客户机(为客户机私有密匙提供密码)和服务器(为服务器私有密匙提供密码)使用单独的回调。清单 2 展示了回调的客户端版本:


清单 2. 客户机密码回调
/** 
 * Simple password callback handler. This just checks if the password for the private key 
 * is being requested, and if so sets that value. 
 */ 
public class PWCBHandler implements CallbackHandler 
{ 
  public void handle(Callback[] callbacks) throws IOException { 
    for (int i = 0; i < callbacks.length; i++) { 
      WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; 
      String id = pwcb.getIdentifer(); 
      int usage = pwcb.getUsage(); 
      if (usage == WSPasswordCallback.DECRYPT || 
        usage == WSPasswordCallback.SIGNATURE) { 
 
        // used to retrieve password for private key 
        if ("clientkey".equals(id)) { 
          pwcb.setPassword("clientpass"); 
        } 
 
      } 
    } 
  } 
}

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Java Web 服务

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接