User feedback: PEM support, CLI standardization, and transparency service refactor#160
Merged
elantiguamsft merged 8 commits intomainfrom Feb 14, 2026
Merged
Conversation
…ld targets - Standardize all CLI options to use -- prefix (e.g., --p, --sf, --iph) - Accept / and - prefixes for backward compatibility (converted to --) - Fix SignWithMissingAndInvalidCommandLineHeaders test (option normalization bug) - Update all documentation to use -- format consistently - Simplify plugin build targets: remove redundant PreparePluginsForPublish and legacy BuildAndDeployPlugins - Consolidate plugin discovery into reusable ItemGroup - Update help text to accurately describe option format
- Add --pem/--PemCertificate option to specify PEM certificate file - Add --key/--PemKey option to specify separate PEM private key file - Support RSA and ECDSA keys in PKCS#1, PKCS#8, or encrypted PKCS#8 format - Support PEM certificate chains (multiple certificates in one file) - Reuse --pw/--Password for encrypted PEM private keys - Add 6 new tests for PEM functionality - Update documentation with PEM examples for Linux/Unix users
- Add test for signing with encrypted PEM private key and correct password - Add test for failure when no password provided for encrypted key - Add test for failure when wrong password provided for encrypted key - Add CreateEncryptedPemKeyFile helper method for test setup
- Remove unused argWithoutColon variable in CoseCommand.cs - Replace generic catch clauses with specific IOException catches - Remove redundant ToString() calls on Guid - Use Path.Join instead of Path.Combine to avoid silent argument dropping - Use 'using' declaration for X509Certificate2 disposal in test
…026-21218, fix redundant ToString - Refactor LoadCertificateWithPrivateKey to use certificate.PublicKey.Oid.Value to determine RSA vs ECDSA instead of trial-and-error exception handling - Extract ImportPemKey helper to eliminate duplicated encrypted/unencrypted logic - Update System.Security.Cryptography.Cose from 10.0.0 to 10.0.3 (CVE-2026-21218) - Fix redundant ToString() calls in MainTests.cs
elantiguamsft
approved these changes
Feb 13, 2026
NN2000X
approved these changes
Feb 13, 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
This PR addresses user feedback across several areas:
CLI Option Standardization
--prefix (e.g.,--Payload,--SignatureFile,--IntHeaderPairs)/and-prefixes for backward compatibility (converted to--)--format consistentlyPEM Certificate Support (Linux/Unix)
--PemCertificateoption to specify PEM certificate file--PemKeyoption to specify separate PEM private key file--PemKeyPasswordand--PemKeyPasswordEnvironmentVariableoptions for encrypted PEM keysTransparency Service Refactor
ITransparencyServiceinterface withTransparencyServiceabstract base classPlugin Build Simplification
PreparePluginsForPublishand legacyBuildAndDeployPluginstargetsItemGroupTests
Commits
--pw