Add support for the crypto refresh in v2 (#265)

This commit adds support for the OpenPGP crypto-refresh.
- Updates go-crypto dependency to v1.1.0-alpha.1
- Adapts the session key logic to handle PKESK/SKESK v6 packets without an algorithm attached
- Updates the min go version to 1.17 as requires by  go-crypto v1.1.0-alpha.1
- Update the cricl dependency to 1.3.7 matching go-crypto
Not supported:
- crypto-refresh intended recipients
- v6 key generation
This commit is contained in:
Lukas Burkhalter 2024-02-28 13:51:52 +01:00 committed by GitHub
parent c6a3058e2e
commit 453e81905b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 92 additions and 29 deletions

View file

@ -17,6 +17,10 @@
{
"path": "__SOP_OPENPGPJS__"
},
{
"id": "gosop-v2",
"path": "__GOSOP_V2__"
},
{
"path": "__RNP_SOP__"
}

View file

@ -8,5 +8,6 @@ cat $CONFIG_TEMPLATE \
| sed "s@__SQOP__@${SQOP}@g" \
| sed "s@__GPGME_SOP__@${GPGME_SOP}@g" \
| sed "s@__SOP_OPENPGPJS__@${SOP_OPENPGPJS}@g" \
| sed "s@__GOSOP_V2__@${GOSOP_DIR_V2}/gosop@g" \
| sed "s@__RNP_SOP__@${RNP_SOP}@g" \
> $CONFIG_OUTPUT

View file

@ -23,16 +23,16 @@ jobs:
run: go test -v -race ./...
test-old:
name: Test with 1.15
name: Test with 1.17
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v3
- name: Set up Go 1.15
- name: Set up Go 1.17
uses: actions/setup-go@v3
with:
go-version: 1.15
go-version: 1.17
- name: Test
run: go test -v -race ./...

View file

@ -46,7 +46,7 @@ jobs:
name: Run interoperability test suite
runs-on: ubuntu-latest
container:
image: ghcr.io/protonmail/openpgp-interop-test-docker:v1.1.1
image: ghcr.io/protonmail/openpgp-interop-test-docker:v1.1.4
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
@ -117,7 +117,7 @@ jobs:
with:
name: test-suite-results.json
- name: Compare with baseline
uses: ProtonMail/openpgp-interop-test-analyzer@v1
uses: ProtonMail/openpgp-interop-test-analyzer@5d7f4b6868ebe3bfc909302828342c461f5f4940
with:
results: ${{ steps.download-test-results.outputs.download-path }}/test-suite-results.json
output: baseline-comparison.json