Skip to content

feat: Oracle TDE - support wallet migration + clarify doc#912

Merged
Manuthor merged 22 commits intodevelopfrom
fix/improve_tde
Apr 16, 2026
Merged

feat: Oracle TDE - support wallet migration + clarify doc#912
Manuthor merged 22 commits intodevelopfrom
fix/improve_tde

Conversation

@Manuthor
Copy link
Copy Markdown
Contributor

Features

PKCS#11

  • Add cosmian_pkcs11_verify diagnostic binary (crate/clients/pkcs11/loader) that dynamically loads libcosmian_pkcs11.so via libloading and validates ckms.toml loading and KMS server reachability through the standard PKCS#11 C API (C_GetFunctionListC_InitializeC_GetSlotListC_OpenSessionC_FindObjects per class → C_Finalize)
  • Replace standalone cosmian_pkcs11 deb/rpm packaging with a signed cross-platform ZIP archive (cosmian-pkcs11-<variant>-<link-suffix>_<version>_<os>-<arch>.zip) containing libcosmian_pkcs11.{so,dylib}, cosmian_pkcs11_verify, and the public signing key; ZIP is built by .github/scripts/package/package_pkcs11_zip.sh, signed with GPG, and published to package.cosmian.com via the pkcs11-zip package type in the CI matrix
  • Add OIDC/JWT bearer-token authentication mode for cosmian_pkcs11_verify: passing --token <JWT> causes a C_Login(CKU_USER, pin=<JWT>) call after C_OpenSession, enabling verification of KMS servers configured with pkcs11_use_pin_as_access_token = true; the token may also be supplied via the COSMIAN_PKCS11_TOKEN environment variable
  • Support Oracle TDE wallet migration (software wallet ↔ HSM wallet): remove CKF_WRITE_PROTECTED from the token info flags in C_GetTokenInfo (Oracle checks this flag before calling C_GenerateKey during ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY … MIGRATE); add CKM_AES_KEY_GEN, CKM_AES_CBC, CKM_AES_CBC_PAD to the supported mechanism list; return correct flags in C_GetMechanismInfo (CKF_GENERATE for CKM_AES_KEY_GEN, CKF_ENCRYPT | CKF_DECRYPT for AES-CBC variants)

- cargo_test.ps1: exclude cosmian_pkcs11_verify from --workspace run to
  prevent STATUS_STACK_BUFFER_OVERRUN crash caused by a race between the
  DLL's tokio worker threads and Windows FreeLibrary() when multiple test
  binaries run in parallel; run cosmian_pkcs11_verify separately in isolation
  (passes reliably); remove the Get-ChildItem diagnostic line that could
  fail in vcpkg manifest mode
- test_ui.ps1: use RUNNER_TEMP (with local fallback) and kms-stdout.log /
  kms-stderr.log filenames to match the Upload logs on failure workflow step
@Manuthor Manuthor changed the title feat: improve tde feat: Oracle TDE - support wallet migration + clarify doc Apr 16, 2026
@Manuthor Manuthor merged commit 78dae76 into develop Apr 16, 2026
208 of 210 checks passed
@Manuthor Manuthor deleted the fix/improve_tde branch April 16, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant