НСПК: Подпись сообщения из консоли 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"}'