mitwork/kalkan
A Laravel/PHP package for integrating Kazakhstan’s Kalkan cryptographic provider, offering tools for electronic digital signatures, certificate handling, signing, and verification in web applications.
mitwork/kalkan:^1.2 until the framework is upgraded.php artisan kalkan:install), and review the published/configurable NCANode connection settings first. Look at the package README, especially the “Обновление с 1.x” migration section, then the config file and NcanodeHttpClient.signCms(), store the returned CMS, then use verify() and extract() for downstream checks. Note that signCms() now defaults to TSA_GOST2015_POLICY.JsonException handling, and audit logging in one place.NcanodeHttpClient now uses Laravel’s HTTP client, tests should use Http::fake() and Http::assertSent() rather than Guzzle mock handlers. This also makes Http::preventStrayRequests() useful in CI.PendingRequest, not GuzzleHttp\Client. Use Laravel HTTP client methods for headers, timeouts, retries, and middleware-style behavior.validate(). The v2 fix for Collection handling removes a sharp edge, but explicit arrays remain clearer.TSA_GOST2015_POLICY; only opt into the deprecated older policies for legacy compatibility with a clear migration plan.extract() for inspecting CMS contents and verify() for validation before trusting signed documents. Keep verification paths read-only and idempotent.1.2.*.GuzzleHttp\Client will break. Migrate to Laravel PendingRequest and Laravel HTTP client testing/faking patterns.JsonException. Catch it at the application boundary and convert it into a domain-specific error with useful context.signCms() now defaults to TSA_GOST2015_POLICY. If existing workflows depend on TSA_GOST_POLICY, set it explicitly and plan to migrate; older policies are deprecated.json_encode() being sent as an empty NCANode request body, but still validate input encoding, especially for non-UTF-8 or binary-adjacent content.kalkan:install now checks file_get_contents() results. If installation fails, check file permissions and paths rather than assuming the command succeeded.phpunit.xml patterns after upgrading.endroid/qr-code moved to 6.0. If the application customizes QR generation around the package, verify the new API and output assumptions.How can I help you explore Laravel packages today?