簡體   English   中英

JSON Web 密鑰的加密密鑰使用 javascript

[英]Cryptographic key to JSON Web Key using javascript

我是 JavaScript 或 GatewayScript 的新手。 我有一個要求,我需要將 a.pem 的內容(位於 local:///cert 下的 DataPower 中,或者可以添加到加密對象中)到 JWK。

任何人都可以幫助我了解如何開發 javascript 到

  1. 請參閱 DataPower 中的加密密鑰 object(例如加密密鑰 object JWKCryptoCertObj)
  2. 解密加密密鑰 object(例如 JWKCryptoCertObj.pem)
  3. 將密鑰的內容轉換為 JSON Web 密鑰( jwk.readCertificate()

到目前為止,我已經知道jwk.readCertificate()可以幫助我將密鑰 object 轉換為 JWK。

我已經嘗試了下面的代碼來獲取它:

var jwk = require('jwk'); var myJWK = jwk.readCertificate('cerjwk'); console.log(myJWK);

但是,我在 DataPower 中收到以下錯誤:

3:13:17 AM mpgw error 1277869681 error 0x00d30003 mpgw (PortTest): Rejected by filter; SOAP fault sent 

3:13:17 AM multistep error 1277869681 request 0x80c00009 mpgw (PortTest): request PortTest_Policy_rule_1 #2 gatewayscript: Transforming the content of INPUT. The transformation local:///jwk.js is applied. The results are stored in testop. failed: Internal Error 

3:13:17 AM gatewayscript error 1277869681 request 0x85800007 mpgw (PortTest): GatewayScript processing Error 'Error: Named certificate 'cerjwk' not found In file 'gatewayscript:///modules/jwk.js' line:428, stack:Error: Named certificate 'cerjwk' not found at Object.readCertificate (gatewayscript:///modules/jwk.js:428:18) at Object. (local:///jwk.js:5:17) at Script.execute (gatewayscript:///datapower.js:155:24) at Object. (gatewayscript:///datapower.js:582:55)' 

3:13:17 AM crypto error 1277869681 request 0x8580005c mpgw (PortTest): Named certificate 'cerjwk' not found 

有人可以幫我解決這里的問題嗎? 提前致謝!!

無需轉換證書。 只需將其添加到Crypto Key object 並在調用中使用 object 的名稱(例如“crykey-my-key”),例如:

const jwk = require('jwk');
const myKeyJWK = jwk.readCertificate('crykey-my-key');

它終於奏效了,需要更改的是證書,而不是密鑰。

這是工作代碼:

var ctx = session.name('INPUT')|| session.createContext('INPUT');
var hm = require('header-metadata');
//var headers = hm.current;
var sm = require('service-metadata');
var uriIn=sm.getVar("var://service/URI");
var jwk = require('jwk');
var myJWK = jwk.readCertificate('qa.developer.citigroup.net');
//headers.set('X-new-header', myJWK);
//headers.set('Content-Type','application/json');
console.log(myJWK);
ctx.setVariable('yourjwk',myJWK);
session.output.write(myJWK);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM