summaryrefslogtreecommitdiffhomepage
path: root/clientupdate/distsign
AgeCommit message (Collapse)AuthorFilesLines
2024-04-16all: use Go 1.22 range-over-intBrad Fitzpatrick1-1/+1
Updates #11058 Change-Id: I35e7ef9b90e83cac04ca93fd964ad00ed5b48430 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-10-11clientupdate/distsign: add new prod root signing key to keychainDavid Anderson1-1/+1
Updates tailscale/corp#15179 Signed-off-by: David Anderson <danderson@tailscale.com>
2023-10-03util/httpm, all: add a test to make sure httpm is used consistentlyBrad Fitzpatrick1-2/+3
Updates #cleanup Change-Id: I7dbf8a02de22fc6b317ab5e29cc97792dd75352c Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-09-12clientupdate: add root key (#9364)David Crawshaw1-0/+3
Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2023-09-05Update clientupdate/distsign/distsign_test.goAaron Klotz1-3/+0
Co-authored-by: Andrew Lytvynov <awly@tailscale.com> Signed-off-by: Aaron Klotz <aaron@tailscale.com>
2023-09-05clientupdate/distsign: add ability to validate a binary that is already ↵Aaron Klotz2-0/+160
located on disk Our build system caches files locally and only updates them when something changes. Since I need to integrate some distsign stuff into the build system to validate our Windows 7 MSIs, I want to be able to check the cached copy of a package before downloading a fresh copy from pkgs. If the signature changes, then obviously the local copy is outdated and we return an error, at which point we call Download to refresh the package. Updates https://github.com/tailscale/corp/issues/14334 Signed-off-by: Aaron Klotz <aaron@tailscale.com>
2023-08-28clientupdate: download SPK and MSI packages with distsign (#9115)Andrew Lytvynov2-28/+97
Reimplement `downloadURLToFile` using `distsign.Download` and move all of the progress reporting logic over there. Updates #6995 Updates #755 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2023-08-28release/dist/cli: add verify-package-signature command (#9110)Andrew Lytvynov1-1/+1
Helper command to verify package signatures, mainly for debugging. Also fix a copy-paste mistake in error message in distsign. Updates #8760 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2023-08-24clientupdate/distsign/roots: add temporary dev root key (#9080)Andrew Lytvynov2-2/+2
Adding a root key that signs the current signing key on pkgs.tailscale.com. This key is here purely for development and should be replaced before 1.50 release. Updates #8760 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2023-08-24release/dist/cli: add sign-key and verify-key-signature commands (#9041)Andrew Lytvynov1-9/+19
Now we have all the commands to generate the key hierarchy and verify that signing keys were signed correctly: ``` $ ./tool/go run ./cmd/dist gen-key --priv-path root-priv.pem --pub-path root-pub.pem --root wrote private key to root-priv.pem wrote public key to root-pub.pem $ ./tool/go run ./cmd/dist gen-key --priv-path signing-priv.pem --pub-path signing-pub.pem --signing wrote private key to signing-priv.pem wrote public key to signing-pub.pem $ ./tool/go run ./cmd/dist sign-key --root-priv-path root-priv.pem --sign-pub-path signing-pub.pem wrote signature to signature.bin $ ./tool/go run ./cmd/dist verify-key-signature --root-pub-path root-pub.pem --sign-pub-path signing-pub.pem --sig-path signature.bin signature ok ``` Updates #8760 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2023-08-23clientupdate/distsign: use distinct PEM types for root/signing keys (#9045)Andrew Lytvynov4-78/+227
To make key management less error-prone, use different PEM block types for root and signing keys. As a result, separate out most of the Go code between root/signing keys too. Updates #8760 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
2023-08-22clientupdate/distsign: add new library for package signing/verification (#8943)Andrew Lytvynov5-0/+758
This library is intended for use during release to sign packages which are then served from pkgs.tailscale.com. The library is also then used by clients downloading packages for `tailscale update` where OS package managers / app stores aren't used. Updates https://github.com/tailscale/tailscale/issues/8760 Updates https://github.com/tailscale/tailscale/issues/6995 Signed-off-by: Andrew Lytvynov <awly@tailscale.com>