解密凭据时出错 (NetSuite)
An error occurred while decrypting credentials (NetSuite)
我们想连接到 SFTP 服务器,但无法连接,NetSuite 告诉我们解密凭据时出错。这是我们代码的一个片段:
var connection = sftp.createConnection({
username: 'XXXXXXXXX',
passwordGuid: myPwdGuid, // references var myPwdGuid
url: 'XXX.XXX.XXX.XXX',
port : 22,
hostKey: myHostKey // references var myHostKey
});
这里是错误:
{"type":"error.SuiteScriptError","name":"AN_ERROR_OCCURRED_WHILE_DECRYPT_PASSWORDGUID",
"message":"資格情報の復号中にエラーが発生しました。","stack":["createError(N/error)",
"main(/SuiteScripts/xxxx/xxxx/upload/uploadCsvFile.js:100)"],
"cause":{"type":"internal error","code":"AN_ERROR_OCCURRED_WHILE_DECRYPT_PASSWORDGUID",
"details":"資格情報の復号中にエラーが発生しました。","userEvent":null,"stackTrace":["createError(N/error)",
"main(/SuiteScripts/xxxx/xxxx/upload/uploadCsvFile.js:100)"],"notifyOff":false},
"id":"","notifyOff":false,"userFacing":false}
我们在这里错过了什么?谢谢!
这可能会有所帮助。您是否使用添加凭据字段创建了密码 GUID?
通常会创建一个仅用于 'vaulting' 密码的套件。响应是存储在代码或脚本参数中的密码 GUID。
下面的代码是打字稿:
/**
*@NApiVersion 2.x
*@NScriptType Suitelet
*/
import * as runtime from 'N/runtime';
import * as ui from 'N/ui/serverWidget';
export function onRequest(context) {
if (context.request.method === 'GET') {
var me = runtime.getCurrentScript();
var form = ui.createForm({
title: 'SFTP Password'
});
form.addCredentialField({
id : 'username',
label : 'Pwd',
restrictToDomains : <string>me.getParameter({name:'custscript_ksfp_vault_host'}),
restrictToScriptIds : ['customscript_kotn_send_sftp'],
restrictToCurrentUser : false
});
form.addSubmitButton({
label: 'Submit Button'
});
context.response.writePage(form);
} else {
var textField = context.request.parameters.username;
context.response.write('Store this GUID in the password parameter: ' + textField);
}
}
我添加的是部署脚本 ID 而不是脚本 ID
我们想连接到 SFTP 服务器,但无法连接,NetSuite 告诉我们解密凭据时出错。这是我们代码的一个片段:
var connection = sftp.createConnection({
username: 'XXXXXXXXX',
passwordGuid: myPwdGuid, // references var myPwdGuid
url: 'XXX.XXX.XXX.XXX',
port : 22,
hostKey: myHostKey // references var myHostKey
});
这里是错误:
{"type":"error.SuiteScriptError","name":"AN_ERROR_OCCURRED_WHILE_DECRYPT_PASSWORDGUID", "message":"資格情報の復号中にエラーが発生しました。","stack":["createError(N/error)", "main(/SuiteScripts/xxxx/xxxx/upload/uploadCsvFile.js:100)"], "cause":{"type":"internal error","code":"AN_ERROR_OCCURRED_WHILE_DECRYPT_PASSWORDGUID", "details":"資格情報の復号中にエラーが発生しました。","userEvent":null,"stackTrace":["createError(N/error)", "main(/SuiteScripts/xxxx/xxxx/upload/uploadCsvFile.js:100)"],"notifyOff":false}, "id":"","notifyOff":false,"userFacing":false}
我们在这里错过了什么?谢谢!
这可能会有所帮助。您是否使用添加凭据字段创建了密码 GUID?
通常会创建一个仅用于 'vaulting' 密码的套件。响应是存储在代码或脚本参数中的密码 GUID。
下面的代码是打字稿:
/**
*@NApiVersion 2.x
*@NScriptType Suitelet
*/
import * as runtime from 'N/runtime';
import * as ui from 'N/ui/serverWidget';
export function onRequest(context) {
if (context.request.method === 'GET') {
var me = runtime.getCurrentScript();
var form = ui.createForm({
title: 'SFTP Password'
});
form.addCredentialField({
id : 'username',
label : 'Pwd',
restrictToDomains : <string>me.getParameter({name:'custscript_ksfp_vault_host'}),
restrictToScriptIds : ['customscript_kotn_send_sftp'],
restrictToCurrentUser : false
});
form.addSubmitButton({
label: 'Submit Button'
});
context.response.writePage(form);
} else {
var textField = context.request.parameters.username;
context.response.write('Store this GUID in the password parameter: ' + textField);
}
}
我添加的是部署脚本 ID 而不是脚本 ID