Files
js-scripts/scripts/pivlogin.js
2025-04-05 16:57:26 +08:00

20 lines
723 B
JavaScript

#! /usr/bin/env runjs
function generateLoginUrl() {
var exp = (new Date().getTime() + 1000*10) + '';
var digest_hex = __.digests.sha256().digest(__.bytes.from(exp).bytes()).asHex();
var result = $$.shell().commands('card-cli', 'piv-ecsign', '-s', 'r1', '-x', digest_hex, '--json').start();
var out = result[0].string();
var outJson = JSON.parse(out);
var signatureBase64 = outJson.signed_data_base64;
return 'https://hatter.ink/login/direct_sign_login.jssp?__auth_before=' + exp + '&__auth_keys=&__auth_sign=' + encodeURIComponent(signatureBase64);
}
function main() {
var url = generateLoginUrl();
println('Open URL: ' + url);
$$.shell().commands('open', url).start();
}
main();