webservices 安全
nql10 2004-11-22 09:51:59 刚接触webservice不久,碰到下面的需求:
请教高人,我怎么实现,最好有代码,先谢了;
1.1 短信计费接口规范描述和应用范围
短信计费接口规范描述了一组对外的接口函数,通过这组接口函数可以确保在计费数据库中记录相应的数据。客户端和接口通过soap/http协议进行通讯,并以web service的方式公开这组接口函数。
在这里,我们用WSDL(网络服务描述语言)来描述每个接口函数和它的参数。用WSDL具有规范和清晰的优点。
有关SOAP的详细信息请参考如下的链接:http://www.w3c.org/tr/soap
有关WSDL的详细信息请参考如下的链接:http://www.w3c.org/tr/wsdl
1.2 安全描述
考虑到传输内容的敏感性和重要性,所有必要对传输的内容进行加密处理并对客户端身份进行检查。
在这里,我们使用WS-Security、WS-SecureConversation、WS-SecurityPolicy作为加密处理的标准。具体的标准请参考:
WS-Security:http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
WS-SecurityPolicy:http://schemas.xmlsoap.org/ws/2002/12/secext
WS-SecureConversation:http://schemas.xmlsoap.org/ws/2004/04/sc
2 实现
2.1 安全
在以下所有的Web Service接口函数调用中都做下列约定:
每个函数调用都包含一个soap header,服务器用这些信息进行客户端的身份实体检查;这个soap header服从WS-Security的UsernameToken规定,并应包含:
Username:用户名
Password:密码,这个密码是一个双方协商的已知的密码。这个密码并不需要出现在UsernameToken中。
每个函数调用都应对出现在soap body中的信息进行加密处理,加密的算法定为:AES128。密钥为:soap header中的Password。
2.2 编码
所有的soap message都以utf8进行编码。
2.3 Web Service的接口函数
下列的Web Service接口函数使用C#语言进行描述,其它的编程语言可以参考随本文档一起分发的WSDL文件。
[WebMethod]
public string FillBS(string Info)
说明:完成短信到计费系统的充值、锁定用户等功能。
参数:字符串,具体的内容随协议的变化而变化。
返回值:操作结果。