Skip to content

Commit

Permalink
feat: add new options
Browse files Browse the repository at this point in the history
  • Loading branch information
microshine committed May 28, 2024
1 parent ec0df53 commit a98cecb
Show file tree
Hide file tree
Showing 8 changed files with 452 additions and 6 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,46 @@ jobs:
token: ${{ secrets.TOKEN }}
certificate: "224b501264c1454d4627268297670451aed3b0d9"
file: "wmi.dll"
timestamp_rfc3161_url: "http://timestamp.digicert.com"
description: "This is a test file"
description_url: "https://example.com"
file_digest_algorithm: "sha256"
additional_certificates: |
-----BEGIN CERTIFICATE-----
MIIC+jCCAeKgAwIBAgIJAPxyG3fzY7RuMA0GCSqGSIb3DQEBCwUAMCsxKTAnBgNV
BAMMIFl1YmljbyBQSVYgUm9vdCBDQSBTZXJpYWwgMjYzNzUxMCAXDTE2MDMxNDAw
MDAwMFoYDzIwNTIwNDE3MDAwMDAwWjAhMR8wHQYDVQQDDBZZdWJpY28gUElWIEF0
dGVzdGF0aW9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0PeoUrod
eXbrxtDAZOjngEQXFg4LRv4xXGsPLqfrZzP7mkx15tJHECxK3OSLmBj+nAQU3jge
WH2z5cm8dsodluG0uWXC/bDyMFocHX2DAeZgS9pyC/Te9//Ofbxj4IcGYyYVlh1w
6VbUi0NVTW2B9KeN+sRf5pzMwRsVgjXiVN0Qps3D6zc/YkHvlVKdnJfrOdCCukVh
2DJIcA1GF31sSQ+h6MsQ5AliSMBw2a6hy6glJLjwh8dcRIqyesmbEZ16VzgtcCoo
SmQelUNMTKtjgcB7FiKqTvRV5iybN4w83UCXjvnugMoW8uE79qENlzIfsCvhw86N
gFn6gHXtl7/IXQIDAQABoykwJzARBgorBgEEAYLECgMDBAMFBAMwEgYDVR0TAQH/
BAgwBgEB/wIBADANBgkqhkiG9w0BAQsFAAOCAQEAnq3bvZIOKoOYLVgKCN/3lMxi
D9/w6F/Ji5mX/kMH+J5xe3+qRZHg/cwu5eBUJmMpp4cV1P3yjgXm+nGza6QUnIHy
MByI/Pt05CfUKukHX5i+mi8W6QDfFIZaET4TYaWUrdq1pwmdKv7sUNz5ayGh/SPw
MnvHTd4kKrKQoMcbi6q4ZJBkoo5TiMBSWQY8VNWaSwkxFDQvYw5OX+tVEsOZHdGG
ApX5/8LmJjz5pTGWJElcGfrOUnGb+2mgTHRPSoDkmNmw9QowMS0bR2OUy52lzrMY
fpIcfcthH+kHsUueyMaLnhaCldR21SCKbTSHnVfbMCj7jX1B04ByAVGl8jjELA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDGjCCAdKgAwIBAgIQRn3HOtVa3TwwUy8qSadfnTA9BgkqhkiG9w0BAQowMKAN
MAsGCWCGSAFlAwQCAaEaMBgGCSqGSIb3DQEBCDALBglghkgBZQMEAgGiAwIBIDAX
MRUwEwYDVQQDEwxSb290IFJTQS1QU1MwHhcNMjQwNTIxMTkyMDI4WhcNMjUwNTIx
MTkyMDI4WjAXMRUwEwYDVQQDEwxSb290IFJTQS1QU1MwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQC2ZvytXFFnM9R+SI6k0q2TCeDd3KL1T9iYUJZjIn97
kTMsGVer36rGq02powV78vHg1kzOJnaNT1E41jWhXTbHmO7LH3HXgNhX7lzGaiyW
1IUXSvHi+0MJ413NTN87mM/I8ytSErLWB4hp+lXwLolKOm039NCthtHyqvWD0svL
Img2QYjVB2zd2RKpCJ9hehibX8/NXnF9YbH5m+me293Oqpr6hP2HfgsH1pMCi0tf
qMlEf6KTaPeCOzv55Czd+2ZUduyMK25UhZGnv7uTdzg4qrdqmSCaTJszmn4u96ao
Hr0c2o2BX5Tc6YuW18v4ZAaXabXh7xx4O8JycUC9EnYPAgMBAAGjAjAAMD0GCSqG
SIb3DQEBCjAwoA0wCwYJYIZIAWUDBAIBoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFl
AwQCAaIDAgEgA4IBAQADUfUGFF5Eenww/ykYuLgvXbHOSduQp5k46f+2V7FLFm7B
hWn3GaJ7AOeiJSW0bo8tbbnfig0SP5SMGcOFeupcZ4BNQfUyGFOlAwZWmJusocjL
uQrn3CAewZkAlUPrqWZ41z+sprQ91pF7rPI+hBZqpRBB1kk3LZBlGMUAsJKUfPgn
d3N+LYBOYtea2yJkK1VCbSXiHZcCwIhtHtqmFDT37CmKvyK0B6LcZmOqUKgEiIcn
f/y4bFQXfM9/WPYAoUQ33MzXJLzcgW868RPIdHMAaVwnoydk4xJ/OizW/o+v6GM4
WhYrT4bEyP5IwLn08Nt9VUjLNrHaYYb5c+A+gmcw
-----END CERTIFICATE-----
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,3 +128,6 @@ lib/
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# Mac files
.DS_Store
24 changes: 24 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,30 @@ inputs:
file:
description: "The file to sign."
required: true
timestamp_url:
description: "The URL of the time stamp server."
required: false
default: ""
timestamp_rfc3161_url:
description: "The URL of the RFC 3161 time stamp server."
required: false
default: ""
description:
description: "Specifies a description of the signed content."
required: false
default: ""
description_url:
description: "Specifies a URL for the expanded description of the signed content."
required: false
default: ""
additional_certificates:
description: "List of additional certificates to include in the signature. The certificates should be in a PEM chain format, with each certificate enclosed between 'BEGIN CERTIFICATE' and 'END CERTIFICATE' lines, without any additional characters or spaces."
required: false
default: ""
file_digest_algorithm:
description: "Specifies the file digest algorithm to use for creating file signatures."
required: false
default: "sha256"

runs:
using: "node20"
Expand Down
120 changes: 117 additions & 3 deletions dist/index.js

Large diffs are not rendered by default.

199 changes: 199 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"dependencies": {
"@actions/core": "^1.10.1",
"@actions/github": "^6.0.0",
"@peculiar/x509": "^1.10.1",
"@vercel/ncc": "^0.38.1"
},
"devDependencies": {
Expand Down
10 changes: 9 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,15 @@ async function run() {

await installGoodKey(__dirname, path.join(SYSTEM_ROOT, 'System32'));
await registerUser(token, organization);
await sign(certificate, file);
await sign({
file,
certificate,
timestampUrl: core.getInput('timestamp_url') || undefined,
description: core.getInput('description') || undefined,
descriptionUrl: core.getInput('description_url') || undefined,
additionalCertificates: core.getInput('additional_certificate') || undefined,
fileDigestAlgorithm: core.getInput('file_digest_algorithm') || undefined,
});
}
catch (error) {
if (error instanceof Error) {
Expand Down
Loading

0 comments on commit a98cecb

Please sign in to comment.