Golang binding for certificated russian GOST Crypto Provider CryptoPro CSP
Единое GRPC для взаимодействия с КриптоПРО SDK
Используйте
protoc/grpc_service_sign.proto
для генерации клиента
- Скачать CSP 5.0 https://www.cryptopro.ru/products/csp/downloads
- Разархивировать и установить командой
./install.sh
- Импортируйте сертифкаты в хранилище пользователя под которым работает сервис
- Запустите сервис $cryptopro-jsonrpc rpc
- Low Level Sign Buffer (stream)
-
MsgType Buffer (stream)
-
MsgType File (one shot)
-
Cloud Store
-
Low Level Verify Buffer (stream)
-
Low Level File Stream Sign (one shot)
-
Low Level File Stream Verify (one shot)
-
Low Level File Stream Encrypt (one shot)
-
Low Level File Stream Decrypt (one shot)
-
List certificates in store
-
Find certificate by SHA1
-
Add an encoded certificate to store
-
Get Certificate Information (CRL,OCSP URL,Name,Serial ...)
-
Low Level CoSign
-
Examples
- Find Certificate by other attributes
- Generate Hash
- Sign Hash
conn, err := grpc.Dial(`localhost:8080`, opts...)
if err != nil {
log.Println(`Dial`, err)
return
}
c := grpc_service.NewServiceClient(conn)
res, err := c.Sign(ctx, &grpc_service.SignRequest{
Content: []byte("HelloWorld"),
Key: "762f84827e9199f72043f01d548ad86503b7fa98",
})
if err != nil {
log.Println(err)
t.FailNow()
}
log.Println(`Done`)
log.Println(string(res.Content))
Попробуйте установить сертификат с привязкой к ключевому контейнеру под нужным пользователем:
sudo -u www-data /opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov