Я пытаюсь декодировать временную метку, которую я получаю из моего HTTP-запроса на публикацию, но это действительно сложная задача, у меня даже нет правильного понимания ASN.1 / RFC 3161, так что если кто-то там хочетчтобы выручить меня, меня бы очень порадовали!
Код:
import { Action } from 'kawax-js';
import base64 from 'base-64';
var Ber = require('asn1').Ber;
class Timestamp extends Action {
static type = 'TIMESTAMP';
call = async (data) => {
const authEncoded = base64.encode(username+":"+password);
const formBody = Object.keys(data).map(key =>
encodeURIComponent(key) + '=' +
encodeURIComponent(data[key])).join('&');
const response = await
fetch("https://sign.test.cryptolog.com/tsa/post/", {
method: 'POST',
headers: {
'Accept': 'application/x-www-form-urlencoded',
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic ' + authEncoded,
'Access-Control-Allow-Origin': '*'
},
body: formBody
});
const bodyData = await response.arrayBuffer();
var reader = new Ber.Reader(Buffer.from(bodyData));
if (reader.peek() === Ber.Boolean)
console.log("",reader.readBoolean());
return bodyData;
}
}
export default Timestamp;
Я пытаюсь использовать пакет asn1 npm (https://www.npmjs.com/package/asn1).
Этоответ, который я получаю, когда запускаю код:
И если я изменю свой await response.arrayBuffer()
на await response.text()
, я получаю это:
Я не знаю, как к этому приблизиться, я пробовал много разных вещей, но, похоже, ничего не помогло, если бы кто-нибудь мог указать мне правильное направление, что было бы здорово!