silk-codesign(1) - Sign And Verify Platform Artifacts
NOTE: This is the Markdown source for the eventual man 1 page for
silk codesign. The roff-formatted manpage should be generated from this content.
Name#
silk-codesign - sign, verify, and inspect signing tools for platform
artifacts.
Synopsis#
silk codesign doctor [--json]silk codesign list-tools [--json]silk codesign setup-keystore --keystore <path> --ks-key-alias <alias> [-- <keytool args...>]silk codesign sign --input <path> [--platform <auto|macos|ios|android|linux>] [--identity <id>] [--keystore <path>] [--ks-key-alias <alias>] [--tool <name>] [-- <tool args...>]silk codesign verify --input <path> [--platform <auto|macos|ios|android|linux>] [--signature <path>] [--tool <name>] [-- <tool args...>]
Description#
silk codesign exposes the platform signing tools needed after silk build
produces a native app, package, or platform artifact. It does not replace those
tools; it detects them, selects the one appropriate for the platform/artifact,
and delegates with an explicit command shape.
Supported platform modes:
macosandios-codesignandroid-apksignerfor APK signing and verification,jarsignerfor JAR-signature-compatible APK/App Bundle signing and verification, andkeytoolfor keystore creationlinux-dpkg-sig,rpmsign,rpmkeys,appimagetool, orgpgauto- infer from the input path and current host
Options#
--help,-h- show command help and exit.--json- emit newline-terminated, schema-versioned tool discovery data fordoctorandlist-tools.--platform <platform>,--kind <platform>- selectauto,macos,ios,android, orlinux.--input,-i <path>- artifact to sign or verify.--tool <name>- override Android or Linux signing/verification tool selection.--- pass remaining arguments to the selected signing tool.
Apple options:
--identity,-s <id>- signing identity. The default is-, which requests ad-hoc signing fromcodesign.
Android options:
--keystore,--ks <path>- keystore path forapksigner,jarsigner, andkeytool.--ks-key-alias <alias>,--alias <alias>- key alias.
Linux/OpenPGP options:
--role <name>-dpkg-sigsigning role. Default:builder.--signature <path>- detached signature path for verification.--armor- askgpgto create ASCII-armored signatures.--detached- askgpgto create detached signatures.
Tool Selection#
When --platform auto is selected:
.apkand.aabselect Android..deb,.rpm, and.AppImageselect Linux..ipaselects iOS..app,.dylib, and.frameworkselect Apple signing on macOS hosts.- Other inputs select the current host family where possible.
Android signing selection:
.apk->apksignerby default..aab->jarsignerby default.--tool apksigneror--tool jarsignerselects either backend explicitly.jarsignersigning requires--ks-key-alias <alias>and accepts--keystore <path>when the key is not in the default Java keystore.
Linux signing selection:
.deb->dpkg-sig.rpmsigning ->rpmsign.rpmverification ->rpmkeys.AppImagesigning ->appimagetool- generic signing/verification ->
gpg
--tool <name> can override Android or Linux selection when a project has a
policy-specific tool invocation.
JSON Output#
doctor --json and list-tools --json emit schemaVersion: 1,
command: "codesign", mode, host, and tools.
Each tool record contains:
nameroleprobeavailablepath
Examples#
# Inspect available signing tools.
silk codesign list-tools
# Ad-hoc sign a macOS or iOS simulator app bundle.
silk codesign sign --platform ios --input build/ios-simulator/MyApp.app
# Sign an APK with apksigner.
silk codesign sign --platform android --input app.apk --keystore release.jks --ks-key-alias release
# Sign an Android App Bundle with jarsigner.
silk codesign sign --platform android --tool jarsigner --input app.aab --keystore release.jks --ks-key-alias release
# Create a Java keystore before signing Android artifacts.
silk codesign setup-keystore --keystore release.jks --ks-key-alias release
# Sign a Debian package with an explicit dpkg-sig role.
silk codesign sign --platform linux --input app.deb --role maint
Exit Status#
0on success.- non-zero when arguments are invalid, a required signing tool is unavailable, or the delegated tool exits non-zero.
See Also#
Source repository · Edit this page · View Markdown