What problem does it solve? Integrating the UAPKI library (Ukrainian digital signature standards DSTU 4145/7564) into a 1C:Enterprise native component is error-prone: the core cannot sign with private keys by itself, key storage providers must load as separate runtime DLLs, and INIT silently reports success even when no provider loaded. This Skill encodes the correct architecture, call sequence, and known pitfalls so signing and verification work on the first attempt. ## Core Features & Use Cases - Correct JSON-API usage: Guides the process()/json_free() memory contract, the {method, parameters} request format, and checking errorCode == 0 as the only success signal. - Provider deployment patterns: Explains the cmProviders contract (dir + allowedProviders), the 7 mandatory CM-API exports, architecture-suffixed DLL names (cm-pkcs12_x64/x86), and the RCDATA resource self-delivery pattern with atomic deployment to %LOCALAPPDATA%. - Method flow and offline modes: Covers the INIT → OPEN → SELECT_KEY → SIGN → VERIFY → CLOSE → DEINIT sequence, offline/ignoreCertStatus options, and the RET_UAPKI_OFFLINE_MODE (4120) behavior. - Use Case: You need to sign a document with a .p12 key container from 1C. The Skill tells you to INIT once with an injected cmProviders config, verify result.countCmProviders to catch silent provider load failure, then OPEN, SELECT_KEY, and SIGN with CAdES-BES format. ## Quick Start Ask the assistant to show how to initialize UAPKI with the cm-pkcs12 provider and sign data from a PKCS#12 container, following the INIT through SIGN method sequence.