2017-02-22 8 views
0

내 SuiteScript 서비스 MyService.Service.ss 파일이 Node.js 라이브러리 Crypto을 사용하려고 시도하지만 서비스를 실행하면 Error: No crypto 오류가 발생합니다.SuiteCommerce 고급 서비스에서 Crypto를 사용 하시겠습니까?

SCA에서 사용하는 Node.js 버전에 암호화 라이브러리가 설치되어 있지 않습니까? 명시 적으로 Crypto를 distro.json에 대한 의존성으로 추가해야합니까? 그렇다면 어디에서? Crypto를 설치해야합니까? 그렇다면 어떤 조언을 - Node.js를 처음 사용합니다. 나는 꽤 많은 표준 암호화 기능을 사용하고

, 문제를 일으키는 코드를 아래 참조 : 당신이 암호로 운이 꽤 많이 그래서

function service (request) 
{ 
    'use strict'; 

    var crypto = require('crypto'); // Error here 

    var token = crypto.createHmac('md5', public_key) 
       .update(private_key) 
       .digest('hex'); 

    ... 
} 

답변

1

Netsuite의가 V8 엔진을 사용하지 않습니다.

나는 hmac calc에 대해 수년간 Paul Johnston's md5 package을 사용했으며, 충분히 빠르며 상호 운용성이 좋습니다. 이름에는 MD5가 나와 있지만 SHA-1,256,512도 포함됩니다.

+0

감사합니다. :). 몇 가지 조사를 해본 결과, SCA/NetSuite 백엔드는 Rhino가 아닌 Node.js를 사용합니다. 그 맞습니까? 아니면 Rhino가 Rhino에서 부분적으로 구축 되었습니까? –

+0

Rhino는 지난 번에 스택 트레이스 중 일부가 유출 된 것을 사용했습니다. 자바 스택에서 작동하기 때문에 여전히 그렇다고 나는 생각한다. 그래도 rhino 기능을 사용할 수는 없습니다. – bknights

+0

damn : P Rhino에 사용할 수있는 암호화 기능이 있기를 바랍니다. 아마도 js-sha256이라는 노드 패키지를 사용하여 SCA 웹 사이트의'third_parties' 모듈로 설치합니다 (그리고'distro.json'에 포함 시켰습니다). 바라건대 나는 그런 식으로 그 libary 그걸 끌어와 그것을 사용할 수 있습니다. –