Repository navigation
CSPSigner 2.0: sign arbitrary files with CryptoPro CSP - #1
Merged
Merged
Conversation
Alox1d
added a commit
that referenced
this pull request
Oct 14, 2026
CSPSigner 2.0: sign arbitrary files with CryptoPro CSP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CSPSigner 2.0 signs arbitrary files through CryptoPro CSP with a multi-file picker, recursive folder discovery and full-filename signature names. Documents can share a directory: sidecars are associated through exact-byte mathematical verification, while existing own signatures skip private-key use.
Preserves old settings, internal module names and updater compatibility. Includes Russian and English quick-start documentation, a technical reference, and identical CSPSigner/ActSigner release ZIPs. Empty files use verified embedded signer metadata and full CAdES VerifyHash without a My-store dependency. Script-host startup preserves console encoding and buffered input, including BOM-bearing UTF-8 and Unicode consoles.
Validation: native Windows PowerShell 5.1 suites cover 16 generic-file groups, 14 legacy Core groups, 45 JScript cases, CMS, entry, UI, settings, console, launcher, updater and packaging. Real pipe tests cover three console encodings, startup-failure restoration and hard-deadline cleanup. Independent code review found no remaining actionable issues. Two existing link fixtures were skipped by the local environment.
Real CryptoPro/GOST verification on the final 20-file runtime snapshot, with forced BOM-bearing UTF-8 input, signed and fully verified six synthetic inputs (TXT, DOCX, XML, ZIP, BIN and empty). Independent native mathematics passed; changing the empty file by one byte was rejected. Repeat processing skipped all six with zero signing calls; source and signature bytes stayed unchanged. Console input encoding was preserved. Hardware GOST-512 was not exercised.