НСПК: Подпись сообщения из консоли Linux

Задача: подписать и отправить сообщение в НСПК посредством Linux

Решение:

1. Записываем json в файл и преобразуем его в формат base64:

echo '{"ogrn":"123","phone":"+79212349599","email":"gr@vesk.ru"}' | base64 -w 0 >for_sign.txt

2. Формируем файл подписи:

/opt/cprocsp/bin/amd64/cryptcp -sign -cadesbes -detached -thumbprint "каукаукацукацук" for_sign.txt -nostampcert

3. Формируем команду curl:

#!/usr/bin/bash
curl -X POST http://localhost:3070/v1/legal-profiles \
   -H 'Content-Type: application/json' \
   -H 'HOST:  rtptst-sandbox.nspk.ru' \
   -H 'x-sign:MIAGCSserfserNzI4WjAvBgkqhkiG9w0BCQQxIgQgqloyI8OYFTCgEgyK812e88X9zkKfq1PeWDdcc/Ay7sAwgeMGCyqGSIb3DQEJEAIvMYHTMIHQMIHNMIHKMAoGCCqFAwcBAQICBCA9jxTZxSMi6HWaxAyK3V48uIE0egiIBMqTA/s3ykB+SzCBmTCBhKSBgTB/MR0wGwYDVQQDDBRJbmZerfAAAAAAA==' \
   -d '{"ogrn":"123","phone":"+79212349599","email":"gr@vesk.ru"}'