dir="ns1"
infile="${dir}/template.db.in"
for algtypebits in rsasha256:rsa:2048 rsasha512:rsa:2048 \
- ecdsap256sha256:EC:prime256v1 ecdsap384sha384:EC:prime384v1; do # Edwards curves are not yet supported by OpenSC
- # ed25519:EC:edwards25519 ed448:EC:edwards448
+ ecdsap256sha256:EC:prime256v1 ecdsap384sha384:EC:prime384v1 \
+ ed25519:EC:Ed25519 ed448:EC:Ed448; do
alg=$(echo "$algtypebits" | cut -f 1 -d :)
type=$(echo "$algtypebits" | cut -f 2 -d :)
bits=$(echo "$algtypebits" | cut -f 3 -d :)
cd ns1
for algtypebits in rsasha256:rsa:2048 rsasha512:rsa:2048 \
- ecdsap256sha256:EC:prime256v1 ecdsap384sha384:EC:prime384v1; do # Edwards curves are not yet supported by OpenSC
- # ed25519:EC:edwards25519 ed448:EC:edwards448
+ ecdsap256sha256:EC:prime256v1 ecdsap384sha384:EC:prime384v1 \
+ ed25519:EC:Ed25519 ed448:EC:Ed448; do
alg=$(echo "$algtypebits" | cut -f 1 -d :)
type=$(echo "$algtypebits" | cut -f 2 -d :)
bits=$(echo "$algtypebits" | cut -f 3 -d :)
+ alg_upper=$(echo "$alg" | tr '[:lower:]' '[:upper:]')
+ supported=$(eval "echo \$${alg_upper}_SUPPORTED")
+ if [ "${supported}" != 1 ]; then
+ echo_i "skipping test for ${alg}:${type}:${bits}, not supported by this build"
+ continue
+ fi
zone="${alg}.example"
zonefile="zone.${zone}.db.signed"
import pytest
+from isctest.util import param
+
import isctest.mark
pytestmark = [
("rsasha512", "rsa", "2048"),
("ecdsap256sha256", "EC", "prime256v1"),
("ecdsap384sha384", "EC", "prime384v1"),
- # Edwards curves are not yet supported by OpenSC
- # ("ed25519","EC","edwards25519"),
- # ("ed448","EC","edwards448")
+ param(
+ "ed25519",
+ "EC",
+ "Ed25519",
+ marks=pytest.mark.skipif(
+ os.environ.get("ED25519_SUPPORTED") != "1",
+ reason="Ed25519 not supported by this build",
+ ),
+ ),
+ param(
+ "ed448",
+ "EC",
+ "Ed448",
+ marks=pytest.mark.skipif(
+ os.environ.get("ED448_SUPPORTED") != "1",
+ reason="Ed448 not supported by this build",
+ ),
+ ),
],
)
def test_keyfromlabel(alg_name, alg_type, alg_bits):