#apple #macos #codesign

bin+lib apple-codesign

Pure Rust interface to code signing on Apple platforms

14 breaking releases

0.22.0 Dec 21, 2022
0.20.0 Oct 2, 2022
0.16.0 Jun 5, 2022
0.10.0 Mar 28, 2022

#583 in Cryptography

Download history 1859/week @ 2023-06-09 1552/week @ 2023-06-16 1847/week @ 2023-06-23 1909/week @ 2023-06-30 2324/week @ 2023-07-07 1943/week @ 2023-07-14 1545/week @ 2023-07-21 1668/week @ 2023-07-28 1887/week @ 2023-08-04 1352/week @ 2023-08-11 1903/week @ 2023-08-18 1572/week @ 2023-08-25 1309/week @ 2023-09-01 1355/week @ 2023-09-08 1099/week @ 2023-09-15 929/week @ 2023-09-22

4,999 downloads per month
Used in 12 crates (4 directly)

MPL-2.0 license

21K SLoC


apple-codesign is a crate implementing functionality related to code signing on Apple platforms.

All functionality is implemented in pure Rust and doesn't require any 3rd party or proprietary software nor do we require running on Apple platforms.

We believe this crate provides the most comprehensive implementation of Apple code signing outside the canonical Apple tools. We have support for the following features:

  • Signing Mach-O binaries (the executable file format on Apple operating systems).
  • Signing, notarizing, and stapling directory bundles (e.g. .app directories).
  • Signing, notarizing, and stapling XAR archives / .pkg installers.
  • Signing, notarizing, and stapling DMG disk images.

What this all means is that you can sign, notarize, and release Apple software from anywhere you can get the Rust crate to compile. Linux, Windows, and macOS are officially supported by other operating systems (like BSDs) should work as well.

See the crate documentation at https://docs.rs/apple-codesign/latest/apple_codesign/ and the end-user documentation at https://gregoryszorc.com/docs/apple-codesign/main/ for more.

rcodesign CLI

This crate defines an rcodesign binary which provides a CLI interface to some of the crate's capabilities. To install:

# From a Git checkout
$ cargo run --bin rcodesign -- --help
$ cargo install --bin rcodesign

# Remote install.
$ cargo install --git https://github.com/indygreg/apple-platform-rs --branch main --bin rcodesign apple-codesign


~1M SLoC