加密方法

对于请求生成者绑定设置,加密方法包括指定用来对 SOAP 消息进行加密的数据和密钥加密算法。用于加密的 WSS API (WSSEncryption) 指定数据和密钥加密方法的算法名称和相匹配的算法统一资源标识 (URI)。如果指定了数据和密钥加密算法,那么将仅接受使用这些算法加密的元素。

数据加密算法

数据加密算法用来对 SOAP 消息的各个部件(包括主体和签名)进行加密。数据加密算法指定每种类型的数据加密算法的算法统一资源标识 (URI)。

支持下列预配置的数据加密算法:
表 1. 数据加密算法. 这些算法用于对 SOAP 消息进行加密。
数据加密算法名称 算法 URI
WSSEncryption.AES128(缺省值) 数据加密算法 AES 128 的 URI:http://www.w3.org/2001/04/xmlenc#aes128-cbc
WSSEncryption.AES192 数据加密算法 AES 192 的 URI:http://www.w3.org/2001/04/xmlenc#aes192-cbc
WSSEncryption.AES256 数据加密算法 AES 256 的 URI:http://www.w3.org/2001/04/xmlenc#aes256-cbc
WSSEncryption.TRIPLE_DES 数据加密算法三重 DES 的 URI:http://www.w3.org/2001/04/xmlenc#tripledes-cbc

缺省情况下,Java™ 密码术扩展 (JCE) 与强度受限或有限的密码一起提供。要使用 192 位和 256 位高级加密标准 (AES) 加密算法,必须应用无限制的权限策略文件。

要点: 您的产地国对加密软件的进口、拥有、使用或再次出口到其他国家可能有一些限制。下载或使用未限制的策略文件之前,必须检查您的国家或地区的法律、规章以及对加密软件进行进口、拥有、使用和再次出口的相关政策,从而确定是否可以使用该文件。

对于 AES256-cbc 和 AES192-CBC 算法,必须从以下 Web 站点下载不受限制的 Java™ 密码术扩展 (JCE) 策略文件:http://www.ibm.com/developerworks/java/jdk/security/index.html

为在生成器端进行加密而配置的数据加密算法必须与为使用者端进行解密而配置的数据加密算法相匹配。

密钥加密算法

此算法用于对密钥进行加密和解密。此密钥信息用于指定生成用于数字签名和加密的密钥所需要的配置。签署信息和加密信息配置可以共享密钥 信息。使用者端的密钥信息用于指定密钥的信息,该密钥用于在接收的消息中验证数字签名或用于解密加密的消息部件。为客户机配置请求生成者。

注: 策略集不支持对称密钥加密。如果您正在使用 WSS API 进行对称密钥加密,那么将无法使用策略集与 Web Service 端点进行互操作。

密钥加密算法指定密钥加密方法的算法统一资源标识 (URI)。支持下列预配置的密钥加密算法:

表 2. 支持的预配置密钥加密算法. 这些算法用于对密钥进行加密和解密。
WSS API URI
WSSEncryption.KW_AES128 密钥加密算法密钥合并 AES 128 的 URI:http://www.w3.org/2001/04/xmlenc#kw-aes128
WSSEncryption.KW_AES192 密钥加密算法密钥合并 AES 192 的 URI:http://www.w3.org/2001/04/xmlenc#kw-aes192
限制: 如果要让所配置的应用程序与基本安全概要文件 (BSP) 一致,请不要使用 192 位密钥加密算法。
WSSEncryption.KW_AES256 密钥加密算法密钥合并 AES 256 的 URI:http://www.w3.org/2001/04/xmlenc#kw-aes256
WSSEncryption.KW_RSA_OAEP(缺省值) 密钥加密算法密钥合并 RSA OAEP 的 URI:http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
WSSEncryption.KW_RSA15 密钥加密算法密钥合并 RSA 1.5 的 URI:http://www.w3.org/2001/04/xmlenc#rsa-1_5
WSSEncryption.KW_TRIPLE_DES 密钥加密算法密钥合并三重 DES 的 URI:http://www.w3.org/2001/04/xmlenc#kw-tripledes
对于安全对话,必须指定与密钥相关的更多信息,例如:
  • algorithmName
  • keyLength
缺省情况下,RSA-OAEP 算法使用 SHA1 消息摘要算法来在加密操作期间计算消息摘要。(可选)可通过指定密钥加密算法属性来使用 SHA256 或 SHA512 消息摘要算法。属性名为:com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod。属性值是下列其中一个摘要方法 URI:
  • http://www.w3.org/2001/04/xmlenc#sha256
  • http://www.w3.org/2001/04/xmlenc#sha512

缺省情况下,RSA-OAEP 算法使用空字符串来作为 OAEPParams 的可选编码八位元字符串。可通过指定密钥加密算法属性来提供显式的编码八位元字符串。对于属性名,可以指定 com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams。属性值是八位元字符串的基本 64 位编码值。

要点: 只能在生成者端设置这些摘要方法和 OAEPParams 属性。在使用者端,会从入局 SOAP 消息中读取这些属性。

要获取 KW-AES256 和 KW-AES192 密钥加密算法,必须从以下 Web 站点下载非受限 JCE 策略文件:http://www.ibm.com/developerworks/java/jdk/security/index.html

生成器的密钥加密算法必须与为使用者配置的密钥解密算法相匹配。

此示例提供了对数据加密方法使用三重 DES 的加密以及对密钥加密方法使用 RSA1.5 的代码:

	  	  // get the message context
	  Object msgcontext = getMessageContext();

	  // generate WSSFactory instance
	  WSSFactory factory = WSSFactory.getInstance();		

	  // generate WSSGenerationContext instance
	  WSSGenerationContext gencont = factory.newWSSGenerationContext();

	  // generate callback handler
	  	  X509GenerateCallbackHandler callbackHandler = new X509GenerateCallbackHandler(
			  "",
			  "enc-sender.jceks",
			  "jceks",
			  "storepass".toCharArray(),
			  "bob", 
			  null,
			  "CN=Bob, O=IBM, C=US", 
			  null);

	  	  // generate the security token used to the encryption
	  SecurityToken token = factory.newSecurityToken(X509Token.class, 
        callbackHandler);

	  	  // generate WSSEncryption instance to encrypt the SOAP body content
	  WSSEncryption enc = factory.newWSSEncryption(token);
	  enc.addEncryptPart(WSSEncryption.BODY_CONTENT);

	  	  // set the data encryption method
	  // DEFAULT: WSSEncryption.AES128
	  enc.setEncryptionMethod(WSSEncryption.TRIPLE_DES);

	  	  // set the key encryption method
	  // DEFAULT: WSSEncryption.KW_RSA_OAEP
	  enc.setEncryptionMethod(WSSEncryption.KW_RSA15);

	  	  // add the WSSEncryption to the WSSGenerationContext
	  gencont.add(enc);

	  // generate the WS-Security header
	  gencont.process(msgcontext);

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wssencryptalgorithms
文件名:rwbs_wssencryptalgorithms.html