49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
const { exec } = require('child_process')
|
|
|
|
function sign({
|
|
path,
|
|
name,
|
|
certUrl,
|
|
clientId,
|
|
tenantId,
|
|
clientSecret,
|
|
certName,
|
|
timestampServer,
|
|
version,
|
|
}) {
|
|
return new Promise((resolve, reject) => {
|
|
const command = `azuresigntool.exe sign -kvu "${certUrl}" -kvi "${clientId}" -kvt "${tenantId}" -kvs "${clientSecret}" -kvc "${certName}" -tr "${timestampServer}" -v "${path}"`
|
|
|
|
exec(command, (error, stdout, stderr) => {
|
|
if (error) {
|
|
console.error(`Error: ${error}`)
|
|
return reject(error)
|
|
}
|
|
console.log(`stdout: ${stdout}`)
|
|
console.error(`stderr: ${stderr}`)
|
|
resolve()
|
|
})
|
|
})
|
|
}
|
|
|
|
exports.default = async function (options) {
|
|
const certUrl = process.env.AZURE_KEY_VAULT_URI
|
|
const clientId = process.env.AZURE_CLIENT_ID
|
|
const tenantId = process.env.AZURE_TENANT_ID
|
|
const clientSecret = process.env.AZURE_CLIENT_SECRET
|
|
const certName = process.env.AZURE_CERT_NAME
|
|
const timestampServer = 'http://timestamp.globalsign.com/tsa/r6advanced1'
|
|
|
|
await sign({
|
|
path: options.path,
|
|
name: 'jan-win-x64',
|
|
certUrl,
|
|
clientId,
|
|
tenantId,
|
|
clientSecret,
|
|
certName,
|
|
timestampServer,
|
|
version: options.version,
|
|
})
|
|
}
|