Websphere 加密模块在IBM API Connect中不工作
在IBM API Connect中,我尝试在IBM API Connect gatewayscript中使用“加密”模块。当我测试gatewascript是否支持加密模块时,我得到如下响应 Gatewayscript中的代码:Websphere 加密模块在IBM API Connect中不工作,websphere,apiconnect,Websphere,Apiconnect,在IBM API Connect中,我尝试在IBM API Connect gatewayscript中使用“加密”模块。当我测试gatewascript是否支持加密模块时,我得到如下响应 Gatewayscript中的代码: var crypto = require('crypto'); session.output.write(crypto); 输出: *{ "getHashes": {}, "getCiphers": {}, "
var crypto = require('crypto');
session.output.write(crypto);
输出:
*{
"getHashes": {},
"getCiphers": {},
"createHash": {},
"createHmac": {},
"createSign": {},
"createVerify": {},
"createCipheriv": {},
"createDecipheriv": {},
"randomBytes": {}
}*
但当我尝试使用它时,我得到了500个内部服务器错误:
代码:
输出:
{
"httpCode": "500",
"httpMessage": "Internal Server Error",
"moreInformation": "Internal Error"
}
不知道哪里出了问题。我正在复制粘贴IBM网站上的确切示例。以下是对加密的引用:使用var key=“Alice”代码>告诉datapower使用别名“Alice”存储的sharedkey
如果要使用'Alice'字符串,则需要使用一个缓冲区,如var key=new buffer(“Alice”)代码>
然而,它不会工作,因为HMAC希望HMAC-sha1有一个160位的密钥。
你可以这样生成它
$dd if=/dev/random count=20 bs=1 | xxd-ps
A73E3406E7DCC5FC168D9AE9954EC6E0D85E444
20作为20字节(20x8位=160位)
如果要将其存储在共享对象中,您可以按照此处所述操作:
将此命令生成的十六进制字符串放入名为secret.key的文件中。
将密钥上载到设备上的cert:///目录。
导航到对象->加密配置->加密共享密钥。
单击添加。
输入共享密钥的名称。
从下拉列表中,选择刚才上载的secret.key文件。
单击应用。
如果未显示任何错误,则表示已成功读取密钥。
单击保存
{
"httpCode": "500",
"httpMessage": "Internal Server Error",
"moreInformation": "Internal Error"
}