Skip to content

Commit 4f20f72

Browse files
committed
added e2e test for pkcs11 token signing
Signed-off-by: Vivek Kumar Sahu <[email protected]> add license Signed-off-by: Vivek Kumar Sahu <[email protected]> small fix Signed-off-by: Vivek Kumar Sahu <[email protected]> update shebang portable with cross platform Signed-off-by: Vivek Kumar Sahu <[email protected]> enable exit on error and xtrace mode Signed-off-by: Vivek Kumar Sahu <[email protected]> cleanup container Signed-off-by: Vivek Kumar Sahu <[email protected]> pkcs11 test with upcoming changes Signed-off-by: Vivek Kumar Sahu <[email protected]> run pkcs11 e2e test in a separate workflow Signed-off-by: Vivek Kumar Sahu <[email protected]> add pkcs11 test in separate workflow Signed-off-by: Vivek Kumar Sahu <[email protected]>
1 parent 628df78 commit 4f20f72

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

.github/workflows/e2e-tests.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ on:
3131
pull_request:
3232
workflow_dispatch:
3333

34+
env:
35+
GO_VERSION: '1.21'
36+
3437
jobs:
3538
e2e-secrets:
3639
strategy:
@@ -73,3 +76,17 @@ jobs:
7376
- name: Run e2e_signblob_tsa_mtls.sh
7477
shell: bash
7578
run: make && PATH="$PWD:$PATH" ./test/e2e_signblob_tsa_mtls.sh
79+
80+
e2e-test-pkcs11:
81+
name: Run pkcs11 e2e tests
82+
runs-on: ubuntu-latest
83+
84+
steps:
85+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
86+
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
87+
with:
88+
go-version: ${{ env.GO_VERSION }}
89+
check-latest: true
90+
91+
- name: Run pkcs11 end-to-end tests
92+
run: ./test/e2e_test_pkcs11.sh

test/e2e_test_pkcs11.sh

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright 2024 The Sigstore Authors.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -ex
18+
19+
# Test pkcs11 token signing
20+
CONTAINER_ID=$(docker run -dit --name softhsm -v $(pwd):/root/cosign -p 2345:2345 vegardit/softhsm2-pkcs11-proxy@sha256:557a65d2a14e3986f2389d36ddce75609cbd8fb7ee6cf08a78adcc8236c2a80e)
21+
22+
docker exec -i $CONTAINER_ID /bin/bash << 'EOF'
23+
24+
apk update
25+
26+
# add make pcsc-lite-libs go command
27+
apk add make build-base go
28+
29+
cd /root/cosign
30+
31+
softhsm2-util --init-token --free --label "My Token" --pin 1234 --so-pin 1234
32+
go test -v -cover -coverprofile=./cover.out -tags=softhsm,pkcs11key -coverpkg github.com/sigstore/cosign/v2/pkg/cosign/pkcs11key test/pkcs11_test.go
33+
34+
EOF
35+
36+
cleanup_pkcs11() {
37+
docker rm -f $CONTAINER_ID
38+
}
39+
40+
trap cleanup_pkcs11 EXIT

0 commit comments

Comments
 (0)