Crypto Pro Вставьте носитель с контейнером при хешировании

Рейтинг: 0Ответов: 1Опубликовано: 10.05.2023

Использую https://github.com/number571/go-cryptopro

    package main

    import (
        "encoding/hex"
        "fmt"

        ghash "github.com/number571/go-cryptopro/gost_r_34_11_2012"
    )

    func main() {
        msg := []byte("hello, world!")

        hash := ghash.Sum(ghash.H256, msg)
        fmt.Println(hex.EncodeToString(hash))
    }

➜ go-cryptopro git:(main) ✗ go run main.go

Вставьте носитель с контейнером Нажмите 'c' для отмены:

при хешировании же не нужен контейнер с сертификатом

как подписать текст без использования контейнера?

Ответы

▲ 0Принят

Всё верно, контейнер для хэширования не нужен. У автора ошибка в исходных кодах: В gost_r_34_11_2012/gost.c:18 контекст нужно открывать с флагом CRYPT_VERIFYCONTEXT.

нужен патч https://github.com/number571/go-cryptopro/pull/5/files