Cryptographi c ключ к JSON веб-ключ, используя javascript - PullRequest
0 голосов
/ 29 мая 2020

Я новичок ie в JavaScript или GatewayScript. У меня есть требование, когда мне нужно преобразовать содержимое .pem (который находится в DataPower под сертификатом local: /// или может быть добавлен в крипто-объект) в JWK.

Может ли кто-нибудь помочь мне с отправная точка для разработки javascript в

  1. относится к объекту криптографического ключа из DataPower (пример объекта криптоключа JWKCryptoCertObj)
  2. Расшифруйте объект криптоключа (например, JWKCryptoCertObj. pem)
  3. Преобразование содержимого ключа в JSON Веб-ключ (jwk.readCertificate())

На данный момент я знаю, что jwk.readCertificate() может помочь мне преобразовать ключевой объект 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 

Может ли кто-нибудь помочь мне с проблемой здесь? Заранее спасибо !!

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Наконец-то это сработало, нужно было изменить только сертификат, а не ключ.

0 голосов
/ 11 июня 2020

Сертификат конвертировать не нужно. Просто добавьте его в объект Crypto Key и используйте имя (например, «crykey-my-key») объекта в вызове, например:

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