Skip to content

Commit

Permalink
Add a X.509 certificate example (#998)
Browse files Browse the repository at this point in the history
Adds an example in rust for generating X.509 certificates using threshold Ed25519 and threshold ECDSA with curve secp256k1.
The example canister generates a root CA certificate.
The example canister generates child certificates for user-provided certificate signing requests.
Closes CRP-2583.
  • Loading branch information
altkdf authored Oct 23, 2024
1 parent 2d738da commit 8ac817b
Show file tree
Hide file tree
Showing 21 changed files with 4,313 additions and 156 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/provision-pocket-ic-server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -ex

POCKET_IC_SERVER_VERSION=${POCKET_IC_SERVER_VERSION:=5.0.0}
POCKET_IC_SERVER_VERSION=${POCKET_IC_SERVER_VERSION:=6.0.0}
POCKET_IC_SERVER_PATH=${POCKET_IC_SERVER_PATH:="${HOME}/bin/pocket-ic-server"}

if [[ $OSTYPE == "linux-gnu"* ]] || [[ $RUNNER_OS == "Linux" ]]
Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/rust-x509-example.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Known failure: https://dfinity.atlassian.net/browse/EM-7
name: rust-x509
on:
push:
branches:
- master
pull_request:
paths:
- rust/x509/**
- .github/workflows/provision-darwin.sh
- .github/workflows/provision-linux.sh
- .github/workflows/provision-pocket-ic-server.sh
- .github/workflows/rust-x509-example.yml
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
rust-x509-darwin:
runs-on: macos-12
steps:
- uses: actions/checkout@v1
- name: Provision Darwin
run: bash .github/workflows/provision-darwin.sh
- name: Provision PocketIC
run: bash .github/workflows/provision-pocket-ic-server.sh
- name: Rust X.509 Darwin
run: |
brew install openssl
pushd rust/x509
dfx build --check
cargo test
rust-x509-linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- name: Provision Linux
run: bash .github/workflows/provision-linux.sh
- name: Provision PocketIC
run: bash .github/workflows/provision-pocket-ic-server.sh
- name: Rust X.509 Linux
run: |
sudo apt-get install --yes openssl
pushd rust/x509
dfx build --check
cargo test
2 changes: 1 addition & 1 deletion motoko/parallel_calls/multi_subnet/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
pocket-ic = "4.0.0"
pocket-ic = "5.0.0"
candid = "0.10"
2 changes: 1 addition & 1 deletion rust/guards/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ serde = "1.0"

[dev-dependencies]
assert_matches = "1.5.0"
pocket-ic = "4.0.0"
pocket-ic = "5.0.0"
2 changes: 1 addition & 1 deletion rust/parallel_calls/src/multi_subnet/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
pocket-ic = "4.0.0"
pocket-ic = "5.0.0"
candid = "0.10"
Loading

0 comments on commit 8ac817b

Please sign in to comment.