docs: document new PKI code-signing method for server v11 - #1567
Merged
Conversation
ownCloud Classic 11 replaces the legacy occ integrity:sign-app flow with a PKI-based system: certificates are issued by owncloud/developer-certificates (issue form + repo-control challenge, public ledger, CRL) and apps are signed with the standalone owncloud/ocsign CLI. Third-party app signing becomes mandatory; unsigned/invalidly-signed apps are blocked on install/update/enable. - Rewrite developer Code Signing page around the new PKI: certificate request, ocsign usage, Mode-2 attestation (marked planned/not yet available), renew/revoke, legacy transition (accepted with a warning until 2026-12-31), and refreshed error list. - Admin Code Signing page: correct "optional" to mandatory on v11+, add PKI/CRL verification, per-app disable escape hatch and git-channel exemption; keep the remediation section and its anchor. - Mark occ integrity:sign-app / sign-core deprecated in favour of ocsign. - Surface the signing requirement on the Marketplace publishing page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
These server-side signing commands are removed in v11 (signing now happens externally with ocsign), so the docs no longer list them or describe them as "deprecated". The historical transition note for apps signed under the pre-2026 scheme (honored with a warning until 2026-12-31) is kept, reworded to not reference the removed commands. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
phil-davis
reviewed
Jul 21, 2026
EXTRA_FILE means a file exists on disk but is not listed in signature.json — i.e. an added file. A removed file triggers FILE_MISSING instead. Drop the misleading "or removed" wording, per review feedback from Phil. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
DeepDiver1975
commented
Jul 21, 2026
DeepDiver1975
left a comment
Member
Author
There was a problem hiding this comment.
Code Review
Docs-only PR (4 files, +298/−159) rewriting the code-signing docs for the ownCloud 11 move from occ integrity:sign-app to the PKI-based ocsign flow. Coherent, well-structured, and the description matches the diff.
Correctness & consistency ✅
Verified against the checkout:
- Internal anchors resolve —
xref:legacy-signatures[]→[#legacy-signatures]andxref:mode-2-attestation[]→[#mode-2-attestation]both match. - Cross-page xrefs resolve — dev→admin (
#fixing-invalid-code-integrity-messages), publishing→signing, and theoccdeprecation note all target existing files/anchors.xref:errors[here]in the admin file is pre-existing and untouched. - Attributes exist —
{oc-marketplace-url}inglobal-attributes.yml;:ocsign-repo-url:/:developer-certificates-url:defined in the page header. :toc: rightmatches project convention (used in 164 module files).- The "mandatory on v11+" message and the 2026-12-31 legacy cutoff are stated consistently across all four pages.
Notes
EXTRA_FILEwording (thanks @phil-davis) — fixed in b9e017c:EXTRA_FILEmeans a file is present on disk but not listed insignature.json(an added file); a removed file isFILE_MISSING. Dropped "or removed".- Marketplace URL rendering (nit) — the rewritten dev page uses
{oc-marketplace-url}[...](no trailing slash) while the rest of the repo uses{oc-marketplace-url}/[...]. Both render fine since the attribute has no trailing slash, but/[...]matches the existing idiom. - Pre-release links — Mode 2 attestation is clearly marked Planned / not yet available, and some
developer-certificateslinks may 404 until the v11 release (flagged in the PR body). Sincemastermaps to the publishednextsite, worth confirming with the team whether exposing 404-prone links now is acceptable or should be gated to the release branch. Not a correctness defect.
Risks
Low. Docs-only, no build/extension changes. Primary risk is the intentional pre-release link/feature exposure, already surfaced by the author.
Verdict
Approve. Well-organized rewrite; all anchors, xrefs, and attributes verified to resolve in this checkout.
Match the {oc-marketplace-url}/[...] form used throughout the repo
rather than {oc-marketplace-url}[...]. No rendered-output change;
consistency only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
phil-davis
approved these changes
Jul 21, 2026
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.
Summary
ownCloud Classic 11 replaces the legacy
occ integrity:sign-appflow with a new PKI-based code-signing system, built from two repositories:owncloud/ocsign— standalone Go CLI that producesappinfo/signature.jsonwithout a running ownCloud instance.owncloud/developer-certificates— the PKI: certificate-request intake (issue form + repo-control challenge), public issuance ledger, CRL, and revocation.Third-party app signing becomes mandatory on v11+: unsigned or invalidly-signed apps are blocked on install/update/enable (not merely warned).
Changes
Code Signingpage around the new PKI: certificate request (CSR → issue form →.well-knownchallenge), signing withocsign(flags + exit codes), Mode-2 attestation marked planned / not yet available, renew/revoke (CMS + VDP), legacy transition note (pre-2026 signatures accepted with a warning until 2026-12-31), and refreshed error list.Code Signingpage: correct "optional" → mandatory on v11+, add PKI/CRL verification, per-app disable escape hatch andgit-channel exemption; remediation section and its#fixing-invalid-code-integrity-messagesanchor kept intact.occ integrity:sign-app/integrity:sign-coredeprecated in favour ofocsign; keepcheck-*.Notes
developer-certificatesrepo links are documented now but go live at the v11 release; some links may 404 until then.owncloud/developer-certificates/docs/developer-guide.md(cross-linking back here) is intended as a separate PR once that repo is public.Verification
migrating_to_ocis.adoccross-component xref errors remain (present onmaster).🤖 Generated with Claude Code