# internal/cryptocli — Go-клиент crypto-service Реализация `m2mcore.CryptoVerifier` поверх gRPC по Unix Domain Socket. ## Состояние На M1 — заглушка. Подключается к UDS-сокету crypto-service, проверяет доступность и возвращает `ErrNotImplemented`. Этого достаточно, чтобы: - m2m-core и другие сервисы могли инжектить клиент без условных веток; - логи различали «сокета нет» (например, контейнер crypto-service не запущен) от «сокет есть, но криптография не подключена» (нет лицензии КриптоПро JCP). ## Когда станет полноценным После генерации gRPC-стабов из `services/crypto-service/proto/crypto.proto` (требует `protoc` + плагины), что в свою очередь требует доступа к Maven Central / Go module proxy через прокси zetit. ## API ```go cli := cryptocli.NewClient("/run/bj/crypto.sock") info, err := cli.VerifyXMLDSig(ctx, signedXML) if errors.Is(err, cryptocli.ErrNotImplemented) { // M1: запасной путь (ручная проверка / откладывание). } ```