quill

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2022 License: Apache-2.0

README

Quill

Simple mac binary signing from any platform. This can replace the mac codesign utility for simple use cases.

# show signing information embedded in a macho-formatted (darwin) binary
$ quill show <path/to/binary>

# Do "ad-hoc" signing of the binary (same as codesign --force -s - <binary>)
# note: there is no crytographic signing info with this option!
$ quill sign <path/to/binary>

# sign the binary (this is probably what you want)
$ quill sign <path/to/binary> --key <path/to/PEM/key> --cert <path/to/PEM/cert>

Not supported

  • interacting with the keychain
  • multiple code directories / multiple digest hashes

TODO

  • unit tests
  • codesign comparison tests
  • ad-hoc signing entrypoint
  • allow for cert chain to be provided and verified
  • fix: code signature offset for larger binaries
  • add signing requirements derived from cert chain input
  • add signing requirements from user input
  • add signing entitlements from usr input
  • add support for universal binaries (partially done, needs to wrap the signing function)
  • Check that input 509 certs have the v3 extensions necessary for codesigning
  • Support pkcs12 envelopes instead of key + cert + chain input

Future opportunities

Directories

Path Synopsis
cmd
quill command
bus
Package bus provides access to a singleton instance of an event bus (provided by the calling application).
Package bus provides access to a singleton instance of an event bus (provided by the calling application).
log
Package log contains the singleton object and helper functions for facilitating logging within the library.
Package log contains the singleton object and helper functions for facilitating logging within the library.
ui
version
Package version contains all build time metadata (version, build time, git commit, etc).
Package version contains all build time metadata (version, build time, git commit, etc).
event
Package event provides event types for all events that the library published onto the event bus.
Package event provides event types for all events that the library published onto the event bus.
event/parser
Package parsers provides parser helpers to extract payloads for each event type that the library publishes onto the event bus.
Package parsers provides parser helpers to extract payloads for each event type that the library publishes onto the event bus.
pem

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL