Skip to content

Commit d724886

Browse files
committed
Add support for custom certificate packages
1 parent b87f3ba commit d724886

18 files changed

+693
-73
lines changed

hack/update-packages.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,9 @@ set -ex
1010
melange build --arch arm64 --arch amd64 -r https://packages.wolfi.dev/os -k https://packages.wolfi.dev/os/wolfi-signing.rsa.pub --signing-key ./melange.rsa replayout.melange.yaml)
1111
(cd internal/cli &&
1212
apko lock ./testdata/apko.yaml)
13+
14+
(cd pkg/build/testdata && \
15+
melange build --arch arm64 --arch amd64 -r https://packages.wolfi.dev/os -k https://packages.wolfi.dev/os/wolfi-signing.rsa.pub --signing-key ./melange.rsa pretend-baselayout.melange.yaml && \
16+
melange build --arch arm64 --arch amd64 -r https://packages.wolfi.dev/os -k https://packages.wolfi.dev/os/wolfi-signing.rsa.pub --signing-key ./melange.rsa replayout.melange.yaml && \
17+
melange build --arch arm64 --arch amd64 -r https://packages.wolfi.dev/os -k https://packages.wolfi.dev/os/wolfi-signing.rsa.pub --signing-key ./melange.rsa custom-ca-certs-1.melange.yaml && \
18+
melange build --arch arm64 --arch amd64 -r https://packages.wolfi.dev/os -k https://packages.wolfi.dev/os/wolfi-signing.rsa.pub --signing-key ./melange.rsa custom-ca-certs-2.melange.yaml)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
contents:
2+
keyring:
3+
- ./testdata/melange.rsa.pub
4+
repositories:
5+
- ./testdata/packages
6+
packages:
7+
- pretend-baselayout
8+
- custom-ca-certs-1
9+
- custom-ca-certs-2
10+
11+
archs:
12+
- x86_64
13+
- aarch64

internal/cli/testdata/apko.lock.json

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"version": "v1",
33
"config": {
4-
"name": "apko.yaml",
4+
"name": "./testdata/apko.yaml",
55
"checksum": "sha256-eal7+HCFuOLz/8m3vNO5cYyNK0Zw7AphCcsc76TbTXg="
66
},
77
"contents": {
@@ -33,74 +33,74 @@
3333
"architecture": "x86_64",
3434
"signature": {
3535
"range": "bytes=0-646",
36-
"checksum": "sha1-S+THz+JYZxcNzNCw2jI9YlnDnE4="
36+
"checksum": "sha1-68yfL6gzfID2sG0l2m9khSnrHig="
3737
},
3838
"control": {
39-
"range": "bytes=647-1628",
40-
"checksum": "sha1-m6wB0UFePGN8Drz82pC8y2uAiu8="
39+
"range": "bytes=647-1619",
40+
"checksum": "sha1-0pftHGkSOuPehxNPoB/52LsrvTk="
4141
},
4242
"data": {
43-
"range": "bytes=1629-2929",
44-
"checksum": "sha256-ckBapsaMu5EOb/e4Ei1s2l/+dZMEamHhUmaoJ8yeZwg="
43+
"range": "bytes=1620-2894",
44+
"checksum": "sha256-e4vOfIRDmdiI4zvwn0HzwCSGiqo+kbHK9oVoVo2iE4k="
4545
},
46-
"checksum": "Q1m6wB0UFePGN8Drz82pC8y2uAiu8="
46+
"checksum": "Q10pftHGkSOuPehxNPoB/52LsrvTk="
4747
},
4848
{
4949
"name": "replayout",
5050
"url": "./testdata/packages/x86_64/replayout-1.0.0-r0.apk",
5151
"version": "1.0.0-r0",
5252
"architecture": "x86_64",
5353
"signature": {
54-
"range": "bytes=0-646",
55-
"checksum": "sha1-M3D5FSI+rv4Qe3oJqVtR1CvOVKE="
54+
"range": "bytes=0-648",
55+
"checksum": "sha1-bh0aokWFmMsoIMwQzUjWwzG41mI="
5656
},
5757
"control": {
58-
"range": "bytes=647-1660",
59-
"checksum": "sha1-1/HhSewwwOXgl0r0ffb0O0BRtYc="
58+
"range": "bytes=649-1652",
59+
"checksum": "sha1-vso1nLTdKAdZdSM0Oc+VCBCYEXQ="
6060
},
6161
"data": {
62-
"range": "bytes=1661-2960",
63-
"checksum": "sha256-zmiHBvaqKHsF8CxQeHa0M4mZKwj7T4T5kRe9VpTkXUw="
62+
"range": "bytes=1653-2924",
63+
"checksum": "sha256-1ktsXlwK2YiGK15dnF4pNsqXZmY+H29l4n2+Ft35Zc8="
6464
},
65-
"checksum": "Q11/HhSewwwOXgl0r0ffb0O0BRtYc="
65+
"checksum": "Q1vso1nLTdKAdZdSM0Oc+VCBCYEXQ="
6666
},
6767
{
6868
"name": "pretend-baselayout",
6969
"url": "./testdata/packages/aarch64/pretend-baselayout-1.0.0-r0.apk",
7070
"version": "1.0.0-r0",
7171
"architecture": "aarch64",
7272
"signature": {
73-
"range": "bytes=0-647",
74-
"checksum": "sha1-DaCiv+fkcPqYlZ1j6qUAyjvaaWQ="
73+
"range": "bytes=0-646",
74+
"checksum": "sha1-MlQrXx8tSworVEXrBAV77FsYz5k="
7575
},
7676
"control": {
77-
"range": "bytes=648-1628",
78-
"checksum": "sha1-JQ8nfsxa27d0f6oa056sdT5IcJY="
77+
"range": "bytes=647-1615",
78+
"checksum": "sha1-gps8Z3kXGuweh5Pq6CIipzlMeTI="
7979
},
8080
"data": {
81-
"range": "bytes=1629-2929",
82-
"checksum": "sha256-cY5bE593kEpYKyqepLmkPc/RnAiPsIsm92XAHwi+U9I="
81+
"range": "bytes=1616-2887",
82+
"checksum": "sha256-kOx70Ra6+XGbU5e/t/eCq7ru/cCb7wnv7ZUG/2xsosE="
8383
},
84-
"checksum": "Q1JQ8nfsxa27d0f6oa056sdT5IcJY="
84+
"checksum": "Q1gps8Z3kXGuweh5Pq6CIipzlMeTI="
8585
},
8686
{
8787
"name": "replayout",
8888
"url": "./testdata/packages/aarch64/replayout-1.0.0-r0.apk",
8989
"version": "1.0.0-r0",
9090
"architecture": "aarch64",
9191
"signature": {
92-
"range": "bytes=0-646",
93-
"checksum": "sha1-/2EQJW+59r1Vbi3AxFA7e9brusw="
92+
"range": "bytes=0-643",
93+
"checksum": "sha1-P1v9vfM1t31NTc+wy5im2v54ksw="
9494
},
9595
"control": {
96-
"range": "bytes=647-1655",
97-
"checksum": "sha1-u62watWiRSQgVtAIuVuYoDOaVO4="
96+
"range": "bytes=644-1643",
97+
"checksum": "sha1-eUxA5oPQvmgJ8iEwDNWXCSHGMR0="
9898
},
9999
"data": {
100-
"range": "bytes=1656-2954",
101-
"checksum": "sha256-IMtgng48z5PaYwqYWLrGUKoaZUHFmigOnKRJ7KcmTQo="
100+
"range": "bytes=1644-2915",
101+
"checksum": "sha256-r/Rgw62p9qCiGteb7Uv2HEQsTTesiQjunKe77UhzPQ0="
102102
},
103-
"checksum": "Q1u62watWiRSQgVtAIuVuYoDOaVO4="
103+
"checksum": "Q1eUxA5oPQvmgJ8iEwDNWXCSHGMR0="
104104
}
105105
]
106106
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package:
2+
name: custom-ca-certs-1
3+
version: 1.0.0
4+
epoch: 0
5+
description: "custom CA certificates package 1 (test)"
6+
copyright:
7+
- license: MIT
8+
dependencies:
9+
provides:
10+
- custom-ca-certificates
11+
12+
environment:
13+
contents:
14+
packages:
15+
- busybox
16+
17+
pipeline:
18+
- name: Install certificates
19+
runs: |
20+
mkdir -p ${{targets.destdir}}/usr/local/share/ca-certificates
21+
cat >${{targets.destdir}}/usr/local/share/ca-certificates/custom-1-cert-a.crt <<'CERTEOF'
22+
-----BEGIN CERTIFICATE-----
23+
MIIFmDCCA4CgAwIBAgIQU9C87nMpOIFKYpfvOHFHFDANBgkqhkiG9w0BAQsFADBm
24+
MQswCQYDVQQGEwJVUzEzMDEGA1UEChMqKFNUQUdJTkcpIEludGVybmV0IFNlY3Vy
25+
aXR5IFJlc2VhcmNoIEdyb3VwMSIwIAYDVQQDExkoU1RBR0lORykgUHJldGVuZCBQ
26+
ZWFyIFgxMB4XDTE1MDYwNDExMDQzOFoXDTM1MDYwNDExMDQzOFowZjELMAkGA1UE
27+
BhMCVVMxMzAxBgNVBAoTKihTVEFHSU5HKSBJbnRlcm5ldCBTZWN1cml0eSBSZXNl
28+
YXJjaCBHcm91cDEiMCAGA1UEAxMZKFNUQUdJTkcpIFByZXRlbmQgUGVhciBYMTCC
29+
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALbagEdDTa1QgGBWSYkyMhsc
30+
ZXENOBaVRTMX1hceJENgsL0Ma49D3MilI4KS38mtkmdF6cPWnL++fgehT0FbRHZg
31+
jOEr8UAN4jH6omjrbTD++VZneTsMVaGamQmDdFl5g1gYaigkkmx8OiCO68a4QXg4
32+
wSyn6iDipKP8utsE+x1E28SA75HOYqpdrk4HGxuULvlr03wZGTIf/oRt2/c+dYmD
33+
oaJhge+GOrLAEQByO7+8+vzOwpNAPEx6LW+crEEZ7eBXih6VP19sTGy3yfqK5tPt
34+
TdXXCOQMKAp+gCj/VByhmIr+0iNDC540gtvV303WpcbwnkkLYC0Ft2cYUyHtkstO
35+
fRcRO+K2cZozoSwVPyB8/J9RpcRK3jgnX9lujfwA/pAbP0J2UPQFxmWFRQnFjaq6
36+
rkqbNEBgLy+kFL1NEsRbvFbKrRi5bYy2lNms2NJPZvdNQbT/2dBZKmJqxHkxCuOQ
37+
FjhJQNeO+Njm1Z1iATS/3rts2yZlqXKsxQUzN6vNbD8KnXRMEeOXUYvbV4lqfCf8
38+
mS14WEbSiMy87GB5S9ucSV1XUrlTG5UGcMSZOBcEUpisRPEmQWUOTWIoDQ5FOia/
39+
GI+Ki523r2ruEmbmG37EBSBXdxIdndqrjy+QVAmCebyDx9eVEGOIpn26bW5LKeru
40+
mJxa/CFBaKi4bRvmdJRLAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
41+
Af8EBTADAQH/MB0GA1UdDgQWBBS182Xy/rAKkh/7PH3zRKCsYyXDFDANBgkqhkiG
42+
9w0BAQsFAAOCAgEAncDZNytDbrrVe68UT6py1lfF2h6Tm2p8ro42i87WWyP2LK8Y
43+
nLHC0hvNfWeWmjZQYBQfGC5c7aQRezak+tHLdmrNKHkn5kn+9E9LCjCaEsyIIn2j
44+
qdHlAkepu/C3KnNtVx5tW07e5bvIjJScwkCDbP3akWQixPpRFAsnP+ULx7k0aO1x
45+
qAeaAhQ2rgo1F58hcflgqKTXnpPM02intVfiVVkX5GXpJjK5EoQtLceyGOrkxlM/
46+
sTPq4UrnypmsqSagWV3HcUlYtDinc+nukFk6eR4XkzXBbwKajl0YjztfrCIHOn5Q
47+
CJL6TERVDbM/aAPly8kJ1sWGLuvvWYzMYgLzDul//rUF10gEMWaXVZV51KpS9DY/
48+
5CunuvCXmEQJHo7kGcViT7sETn6Jz9KOhvYcXkJ7po6d93A/jy4GKPIPnsKKNEmR
49+
xUuXY4xRdh45tMJnLTUDdC9FIU0flTeO9/vNpVA8OPU1i14vCz+MU8KX1bV3GXm/
50+
fxlB7VBBjX9v5oUep0o/j68R/iDlCOM4VVfRa8gX6T2FU7fNdatvGro7uQzIvWof
51+
gN9WUwCbEMBy/YhBSrXycKA8crgGg3x1mIsopn88JKwmMBa68oS7EHM9w7C4y71M
52+
7DiA+/9Qdp9RBWJpTS9i/mDnJg1xvo8Xz49mrrgfmcAXTCJqXi24NatI3Oc=
53+
-----END CERTIFICATE-----
54+
CERTEOF
55+
cat >${{targets.destdir}}/usr/local/share/ca-certificates/custom-1-cert-b.crt <<'CERTEOF'
56+
-----BEGIN CERTIFICATE-----
57+
MIICTjCCAdSgAwIBAgIRAIPgc3k5LlLVLtUUvs4K/QcwCgYIKoZIzj0EAwMwaDEL
58+
MAkGA1UEBhMCVVMxMzAxBgNVBAoTKihTVEFHSU5HKSBJbnRlcm5ldCBTZWN1cml0
59+
eSBSZXNlYXJjaCBHcm91cDEkMCIGA1UEAxMbKFNUQUdJTkcpIEJvZ3VzIEJyb2Nj
60+
b2xpIFgyMB4XDTIwMDkwNDAwMDAwMFoXDTQwMDkxNzE2MDAwMFowaDELMAkGA1UE
61+
BhMCVVMxMzAxBgNVBAoTKihTVEFHSU5HKSBJbnRlcm5ldCBTZWN1cml0eSBSZXNl
62+
YXJjaCBHcm91cDEkMCIGA1UEAxMbKFNUQUdJTkcpIEJvZ3VzIEJyb2Njb2xpIFgy
63+
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOvS+w1kCzAxYOJbA06Aw0HFP2tLBLKPo
64+
FQqR9AMskl1nC2975eQqycR+ACvYelA8rfwFXObMHYXJ23XLB+dAjPJVOJ2OcsjT
65+
VqO4dcDWu+rQ2VILdnJRYypnV1MMThVxo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
66+
VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU3tGjWWQOwZo2o0busBB2766XlWYwCgYI
67+
KoZIzj0EAwMDaAAwZQIwRcp4ZKBsq9XkUuN8wfX+GEbY1N5nmCRc8e80kUkuAefo
68+
uc2j3cICeXo1cOybQ1iWAjEA3Ooawl8eQyR4wrjCofUE8h44p0j7Yl/kBlJZT8+9
69+
vbtH7QiVzeKCOTQPINyRql6P
70+
-----END CERTIFICATE-----
71+
CERTEOF
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package:
2+
name: custom-ca-certs-2
3+
version: 1.0.0
4+
epoch: 0
5+
description: "custom CA certificates package 2 (test)"
6+
copyright:
7+
- license: MIT
8+
dependencies:
9+
provides:
10+
- custom-ca-certificates
11+
12+
environment:
13+
contents:
14+
packages:
15+
- busybox
16+
17+
pipeline:
18+
- name: Install certificates
19+
runs: |
20+
mkdir -p ${{targets.destdir}}/usr/local/share/ca-certificates
21+
cat >${{targets.destdir}}/usr/local/share/ca-certificates/custom-2-cert-c.crt <<'CERTEOF'
22+
-----BEGIN CERTIFICATE-----
23+
MIIBwjCCAWegAwIBAgIUBKZDifzRAz30jwlcoQLIOxkBPLMwCgYIKoZIzj0EAwIw
24+
NTEeMBwGA1UEAwwVVGVzdCBDQSBDZXJ0aWZpY2F0ZSAzMRMwEQYDVQQKDApUZXN0
25+
IE9yZyAzMCAXDTI2MDIyNzIwMzk1OVoYDzIxMjYwMjAzMjAzOTU5WjA1MR4wHAYD
26+
VQQDDBVUZXN0IENBIENlcnRpZmljYXRlIDMxEzARBgNVBAoMClRlc3QgT3JnIDMw
27+
WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARx/10O/q2rOnQtpBXHjARAUryfNWjD
28+
UXeshzFk44hrv45loTsGQcyb5vAL6h3FSdBN91njUch4eF1NEYLKoR3Qo1MwUTAd
29+
BgNVHQ4EFgQUhLbWEa0IUIixKPBVvuKxhK6UMnMwHwYDVR0jBBgwFoAUhLbWEa0I
30+
UIixKPBVvuKxhK6UMnMwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNJADBG
31+
AiEAqgTlOPOiNJLPJhMjRl9Zpaq6TTGfh+awe7N3fcEdHVICIQDfgVRRkuv1KTWk
32+
44YBh2/IaTSFwFo8cd39Fnv7CYi/2g==
33+
-----END CERTIFICATE-----
34+
CERTEOF
35+
cat >${{targets.destdir}}/usr/local/share/ca-certificates/custom-2-cert-d.crt <<'CERTEOF'
36+
-----BEGIN CERTIFICATE-----
37+
MIIBwTCCAWegAwIBAgIUPrm4YvABD98JhdU93qPsAgryo0UwCgYIKoZIzj0EAwIw
38+
NTEeMBwGA1UEAwwVVGVzdCBDQSBDZXJ0aWZpY2F0ZSA0MRMwEQYDVQQKDApUZXN0
39+
IE9yZyA0MCAXDTI2MDIyNzIwNDAwMFoYDzIxMjYwMjAzMjA0MDAwWjA1MR4wHAYD
40+
VQQDDBVUZXN0IENBIENlcnRpZmljYXRlIDQxEzARBgNVBAoMClRlc3QgT3JnIDQw
41+
WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQbR9hBg7/IeSBYJzUvBUxnnaNmoOJj
42+
ESG5CiOa2980CC5aixcLof5kk/9K16B+OLIGSUE+Ya98N0vNP8KmDmvBo1MwUTAd
43+
BgNVHQ4EFgQU6ZlpZtkvodhxZX1aRsM44dY0SJ8wHwYDVR0jBBgwFoAU6ZlpZtkv
44+
odhxZX1aRsM44dY0SJ8wDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBF
45+
AiARCNSY4WZ7Tl1oAmWghJz0Sxzi57JY4pdrvzyzYQNrhgIhAPMAzTOf33fVRhaX
46+
wB7TKj2HAGTDpoliTH80SMWJN3jK
47+
-----END CERTIFICATE-----
48+
CERTEOF
152 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-39 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)