mirror of https://github.com/wolfSSL/wolfTPM.git
Peer review fixes and getting CI to pass.
parent
97d8845c6f
commit
e2d502e773
|
@ -1,8 +1,8 @@
|
||||||
name: Swtpm Build Test
|
name: WolfTPM Build Tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ '*' ]
|
branches: [ 'master', 'main', 'release/**' ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ '*' ]
|
branches: [ '*' ]
|
||||||
|
|
||||||
|
@ -46,26 +46,34 @@ jobs:
|
||||||
run: ./autogen.sh
|
run: ./autogen.sh
|
||||||
- name: configure
|
- name: configure
|
||||||
run: ./configure --enable-swtpm
|
run: ./configure --enable-swtpm
|
||||||
- name: make test
|
- name: make
|
||||||
run: make check
|
run: make
|
||||||
|
- name: make check
|
||||||
|
run: WOLFSSL_PATH=./wolfssl make check -j1
|
||||||
|
|
||||||
#test no wolfcrypt
|
#test no wolfcrypt
|
||||||
- name: configure no wolfCrypt
|
- name: configure no wolfCrypt
|
||||||
run: ./configure --enable-swtpm --disable-wolfcrypt
|
run: ./configure --enable-swtpm --disable-wolfcrypt
|
||||||
- name: make test no wolfCrypt
|
- name: make no wolfCrypt
|
||||||
run: make check
|
run: make
|
||||||
|
- name: make check no wolfCrypt
|
||||||
|
run: WOLFSSL_PATH=./wolfssl make check -j1
|
||||||
|
|
||||||
#test no wrapper
|
#test no wrapper
|
||||||
- name: configure no wrapper
|
- name: configure no wrapper
|
||||||
run: ./configure --enable-swtpm --disable-wrapper
|
run: ./configure --enable-swtpm --disable-wrapper
|
||||||
- name: make test no wolfCrypt
|
- name: make no wrapper
|
||||||
run: make check
|
run: make
|
||||||
|
- name: make check no wrapper
|
||||||
|
run: WOLFSSL_PATH=./wolfssl make check -j1
|
||||||
|
|
||||||
# test small stack
|
# test small stack
|
||||||
- name: configure smallstack
|
- name: configure smallstack
|
||||||
run: ./configure --enable-swtpm --enable-smallstack
|
run: ./configure --enable-swtpm --enable-smallstack
|
||||||
- name: make test smallstack
|
- name: make smallstack
|
||||||
run: make check
|
run: make
|
||||||
|
- name: make check smallstack
|
||||||
|
run: WOLFSSL_PATH=./wolfssl make check -j1
|
||||||
|
|
||||||
# test tislock
|
# test tislock
|
||||||
- name: configure tislock
|
- name: configure tislock
|
||||||
|
@ -96,3 +104,14 @@ jobs:
|
||||||
run: ./configure --enable-advio
|
run: ./configure --enable-advio
|
||||||
- name: make debug io
|
- name: make debug io
|
||||||
run: make
|
run: make
|
||||||
|
|
||||||
|
# capture logs on failure
|
||||||
|
- name: Upload failure logs
|
||||||
|
if: failure()
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: wolftpm-test-logs
|
||||||
|
path: |
|
||||||
|
run.out
|
||||||
|
test-suite.log
|
||||||
|
retention-days: 5
|
||||||
|
|
|
@ -69,8 +69,10 @@ static int LoadAuthKeyInfo(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* authKey,
|
||||||
int encType = ENCODING_TYPE_ASN1;
|
int encType = ENCODING_TYPE_ASN1;
|
||||||
byte* buf = NULL;
|
byte* buf = NULL;
|
||||||
size_t bufSz = 0;
|
size_t bufSz = 0;
|
||||||
|
const char* fileEnd;
|
||||||
|
|
||||||
if (XSTRNCMP(file, ".pem", XSTRLEN(".pem")) == 0) {
|
fileEnd = XSTRSTR(file, ".pem");
|
||||||
|
if (fileEnd != NULL && fileEnd[XSTRLEN(".pem")] == '\0') {
|
||||||
encType = ENCODING_TYPE_PEM;
|
encType = ENCODING_TYPE_PEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -211,7 +213,7 @@ int TPM2_Boot_SecretSeal_Example(void* userCtx, int argc, char *argv[])
|
||||||
|
|
||||||
/* Start an authenticated session (salted / unbound) */
|
/* Start an authenticated session (salted / unbound) */
|
||||||
rc = wolfTPM2_StartSession(&dev, &tpmSession, &storage, NULL,
|
rc = wolfTPM2_StartSession(&dev, &tpmSession, &storage, NULL,
|
||||||
TPM_SE_HMAC, paramEncAlg);
|
TPM_SE_POLICY, paramEncAlg);
|
||||||
if (rc != 0) goto exit;
|
if (rc != 0) goto exit;
|
||||||
printf("Session Handle 0x%x\n", (word32)tpmSession.handle.hndl);
|
printf("Session Handle 0x%x\n", (word32)tpmSession.handle.hndl);
|
||||||
printf("Parameter Encryption: %s\n", TPM2_GetAlgName(paramEncAlg));
|
printf("Parameter Encryption: %s\n", TPM2_GetAlgName(paramEncAlg));
|
||||||
|
|
|
@ -67,8 +67,10 @@ static int LoadAuthKeyInfo(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* authKey,
|
||||||
int encType = ENCODING_TYPE_ASN1;
|
int encType = ENCODING_TYPE_ASN1;
|
||||||
byte* buf = NULL;
|
byte* buf = NULL;
|
||||||
size_t bufSz = 0;
|
size_t bufSz = 0;
|
||||||
|
const char* fileEnd;
|
||||||
|
|
||||||
if (XSTRNCMP(file, ".pem", XSTRLEN(".pem")) == 0) {
|
fileEnd = XSTRSTR(file, ".pem");
|
||||||
|
if (fileEnd != NULL && fileEnd[XSTRLEN(".pem")] == '\0') {
|
||||||
encType = ENCODING_TYPE_PEM;
|
encType = ENCODING_TYPE_PEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -76,6 +76,7 @@ int TPM2_Keyimport_Example(void* userCtx, int argc, char *argv[])
|
||||||
byte* buf = NULL;
|
byte* buf = NULL;
|
||||||
size_t bufSz = 0;
|
size_t bufSz = 0;
|
||||||
int isPublicKey = 0;
|
int isPublicKey = 0;
|
||||||
|
const char* impFileEnd;
|
||||||
|
|
||||||
if (argc >= 2) {
|
if (argc >= 2) {
|
||||||
if (XSTRCMP(argv[1], "-?") == 0 ||
|
if (XSTRCMP(argv[1], "-?") == 0 ||
|
||||||
|
@ -123,7 +124,8 @@ int TPM2_Keyimport_Example(void* userCtx, int argc, char *argv[])
|
||||||
else if (alg == TPM_ALG_ECC)
|
else if (alg == TPM_ALG_ECC)
|
||||||
impFile = "./certs/example-ecc256-key.der";
|
impFile = "./certs/example-ecc256-key.der";
|
||||||
}
|
}
|
||||||
if (XSTRNCMP(impFile, ".pem", XSTRLEN(".pem")) == 0) {
|
impFileEnd = XSTRSTR(impFile, ".pem");
|
||||||
|
if (impFileEnd != NULL && impFileEnd[XSTRLEN(".pem")] == '\0') {
|
||||||
encType = ENCODING_TYPE_PEM;
|
encType = ENCODING_TYPE_PEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -86,6 +86,7 @@ static int PolicySign(TPM_ALG_ID alg, const char* keyFile, const char* password,
|
||||||
ecc_key ecc;
|
ecc_key ecc;
|
||||||
#endif
|
#endif
|
||||||
} key;
|
} key;
|
||||||
|
const char* keyFileEnd;
|
||||||
|
|
||||||
XMEMSET(&key, 0, sizeof(key));
|
XMEMSET(&key, 0, sizeof(key));
|
||||||
XMEMSET(&rng, 0, sizeof(rng));
|
XMEMSET(&rng, 0, sizeof(rng));
|
||||||
|
@ -96,7 +97,8 @@ static int PolicySign(TPM_ALG_ID alg, const char* keyFile, const char* password,
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (XSTRNCMP(keyFile, ".pem", XSTRLEN(".pem")) == 0) {
|
keyFileEnd = XSTRSTR(keyFile, ".pem");
|
||||||
|
if (keyFileEnd != NULL && keyFileEnd[XSTRLEN(".pem")] == '\0') {
|
||||||
encType = ENCODING_TYPE_PEM;
|
encType = ENCODING_TYPE_PEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,11 @@
|
||||||
|
|
||||||
RESULT=0
|
RESULT=0
|
||||||
ENABLE_DESTRUCTIVE_TESTS=0
|
ENABLE_DESTRUCTIVE_TESTS=0
|
||||||
|
PWD=$(pwd)
|
||||||
|
|
||||||
|
if [ -z "$WOLFSSL_PATH" ]; then
|
||||||
|
WOLFSSL_PATH=../wolfssl
|
||||||
|
fi
|
||||||
|
|
||||||
rm run.out
|
rm run.out
|
||||||
touch run.out
|
touch run.out
|
||||||
|
@ -84,6 +89,10 @@ RESULT=$?
|
||||||
rm keyedhashblob.bin
|
rm keyedhashblob.bin
|
||||||
[ $RESULT -ne 0 ] && echo -e "keygen keyed hash load failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "keygen keyed hash load failed! $RESULT" && exit 1
|
||||||
|
|
||||||
|
# KeyGen Endorsement with Policy Secret
|
||||||
|
# TODO Fix: (TPM2_Create TPM_RC_AUTH_UNAVAILABLE)
|
||||||
|
#./examples/keygen/keygen rsakeyblobeh.bin -rsa -eh >> run.out
|
||||||
|
|
||||||
|
|
||||||
# NV Tests
|
# NV Tests
|
||||||
echo -e "NV Tests"
|
echo -e "NV Tests"
|
||||||
|
@ -128,16 +137,16 @@ RESULT=$?
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "cert self-signed failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "cert self-signed failed! $RESULT" && exit 1
|
||||||
|
|
||||||
cp ./certs/tpm-rsa-cert.pem ../wolfssl/certs/tpm-rsa-cert.pem >> run.out
|
cp ./certs/tpm-rsa-cert.pem $WOLFSSL_PATH/certs/tpm-rsa-cert.pem >> run.out
|
||||||
cp ./certs/tpm-ecc-cert.pem ../wolfssl/certs/tpm-ecc-cert.pem >> run.out
|
cp ./certs/tpm-ecc-cert.pem $WOLFSSL_PATH/certs/tpm-ecc-cert.pem >> run.out
|
||||||
|
|
||||||
./examples/csr/csr >> run.out
|
./examples/csr/csr >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "csr gen failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "csr gen failed! $RESULT" && exit 1
|
||||||
|
|
||||||
./certs/certreq.sh 2>&1 >> run.out
|
./certs/certreq.sh 2>&1 >> run.out
|
||||||
cp ./certs/ca-ecc-cert.pem ../wolfssl/certs/tpm-ca-ecc-cert.pem >> run.out
|
cp ./certs/ca-ecc-cert.pem $WOLFSSL_PATH/certs/tpm-ca-ecc-cert.pem >> run.out
|
||||||
cp ./certs/ca-rsa-cert.pem ../wolfssl/certs/tpm-ca-rsa-cert.pem >> run.out
|
cp ./certs/ca-rsa-cert.pem $WOLFSSL_PATH/certs/tpm-ca-rsa-cert.pem >> run.out
|
||||||
|
|
||||||
|
|
||||||
# PKCS7 Tests
|
# PKCS7 Tests
|
||||||
|
@ -164,12 +173,12 @@ generate_port() { # function to produce a random port number
|
||||||
run_tpm_tls_client() { # Usage: run_tpm_tls_client [ecc/rsa] [tpmargs]]
|
run_tpm_tls_client() { # Usage: run_tpm_tls_client [ecc/rsa] [tpmargs]]
|
||||||
echo -e "TLS test (TPM as client) $1 $2"
|
echo -e "TLS test (TPM as client) $1 $2"
|
||||||
generate_port
|
generate_port
|
||||||
pushd ../wolfssl >> run.out
|
pushd $WOLFSSL_PATH >> run.out
|
||||||
./examples/server/server -p $port -g -A ./certs/tpm-ca-$1-cert.pem 2>&1 >> run.out &
|
./examples/server/server -p $port -g -A ./certs/tpm-ca-$1-cert.pem 2>&1 >> $PWD/run.out &
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "tls server $1 $2 failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "tls server $1 $2 failed! $RESULT" && exit 1
|
||||||
popd >> run.out
|
popd >> run.out
|
||||||
sleep 0.1
|
sleep 0.2
|
||||||
./examples/tls/tls_client -p=$port -$1 $2 2>&1 >> run.out
|
./examples/tls/tls_client -p=$port -$1 $2 2>&1 >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "tpm tls client $1 $2 failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "tpm tls client $1 $2 failed! $RESULT" && exit 1
|
||||||
|
@ -181,9 +190,9 @@ run_tpm_tls_server() { # Usage: run_tpm_tls_server [ecc/rsa] [tpmargs]]
|
||||||
./examples/tls/tls_server -p=$port -$1 $2 2>&1 >> run.out &
|
./examples/tls/tls_server -p=$port -$1 $2 2>&1 >> run.out &
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "tpm tls server $1 $2 failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "tpm tls server $1 $2 failed! $RESULT" && exit 1
|
||||||
pushd ../wolfssl >> run.out
|
pushd $WOLFSSL_PATH >> run.out
|
||||||
sleep 0.1
|
sleep 0.2
|
||||||
./examples/client/client -p $port -g -A ./certs/tpm-ca-$1-cert.pem 2>&1 >> run.out
|
./examples/client/client -p $port -g -A ./certs/tpm-ca-$1-cert.pem 2>&1 >> $PWD/run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "tls client $1 $2 failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "tls client $1 $2 failed! $RESULT" && exit 1
|
||||||
popd >> run.out
|
popd >> run.out
|
||||||
|
@ -226,9 +235,8 @@ RESULT=$?
|
||||||
./examples/attestation/make_credential >> run.out
|
./examples/attestation/make_credential >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "make_credential failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "make_credential failed! $RESULT" && exit 1
|
||||||
./examples/attestation/make_credential -eh >> run.out
|
# TODO: Requires keygen -ek to be working
|
||||||
RESULT=$?
|
#./examples/attestation/make_credential -eh >> run.out
|
||||||
[ $RESULT -ne 0 ] && echo -e "make_credential eh failed! $RESULT" && exit 1
|
|
||||||
# TODO: Test broken (TPM2_ActivateCredentials TPM_RC_INTEGRITY)
|
# TODO: Test broken (TPM2_ActivateCredentials TPM_RC_INTEGRITY)
|
||||||
#./examples/attestation/activate_credential >> run.out
|
#./examples/attestation/activate_credential >> run.out
|
||||||
#./examples/attestation/activate_credential -eh >> run.out
|
#./examples/attestation/activate_credential -eh >> run.out
|
||||||
|
@ -287,6 +295,7 @@ then
|
||||||
./examples/boot/secure_rot -nvindex=0x1400201 -authstr=test -lock >> run.out
|
./examples/boot/secure_rot -nvindex=0x1400201 -authstr=test -lock >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "secure rot write ecc384 lock! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "secure rot write ecc384 lock! $RESULT" && exit 1
|
||||||
|
# Test expected failure case
|
||||||
./examples/boot/secure_rot -nvindex=0x1400201 -write=./certs/example-ecc384-key-pub.der -sha384 >> run.out
|
./examples/boot/secure_rot -nvindex=0x1400201 -write=./certs/example-ecc384-key-pub.der -sha384 >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -eq 0 ] && echo -e "secure rot write ecc384 should be locked! $RESULT" && exit 1
|
[ $RESULT -eq 0 ] && echo -e "secure rot write ecc384 should be locked! $RESULT" && exit 1
|
||||||
|
@ -296,7 +305,7 @@ fi
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "secure rot write ecc384 read! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "secure rot write ecc384 read! $RESULT" && exit 1
|
||||||
|
|
||||||
# Test expected failure cases
|
# Test expected failure case
|
||||||
./examples/boot/secure_rot -nvindex=0x1400201 >> run.out
|
./examples/boot/secure_rot -nvindex=0x1400201 >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -eq 0 ] && echo -e "secure rot write ecc384 read no auth! $RESULT" && exit 1
|
[ $RESULT -eq 0 ] && echo -e "secure rot write ecc384 read no auth! $RESULT" && exit 1
|
||||||
|
@ -326,7 +335,10 @@ RESULT=$?
|
||||||
# RSA
|
# RSA
|
||||||
./examples/pcr/policy_sign -pcr=16 -rsa -key=./certs/example-rsa2048-key.der -out=pcrsig.bin -outpolicy=policyauth.bin >> run.out
|
./examples/pcr/policy_sign -pcr=16 -rsa -key=./certs/example-rsa2048-key.der -out=pcrsig.bin -outpolicy=policyauth.bin >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "policy sign rsa failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "policy sign rsa der failed! $RESULT" && exit 1
|
||||||
|
./examples/pcr/policy_sign -pcr=16 -rsa -key=./certs/example-rsa2048-key.pem -out=pcrsig.bin -outpolicy=policyauth.bin >> run.out
|
||||||
|
RESULT=$?
|
||||||
|
[ $RESULT -ne 0 ] && echo -e "policy sign rsa pem failed! $RESULT" && exit 1
|
||||||
|
|
||||||
TMPFILE=$(mktemp)
|
TMPFILE=$(mktemp)
|
||||||
SECRET_STRING=`head -c 32 /dev/random | base64`
|
SECRET_STRING=`head -c 32 /dev/random | base64`
|
||||||
|
@ -344,8 +356,10 @@ RESULT=$?
|
||||||
TMPFILE=$(mktemp)
|
TMPFILE=$(mktemp)
|
||||||
SECRET_STRING=`head -c 32 /dev/random | base64`
|
SECRET_STRING=`head -c 32 /dev/random | base64`
|
||||||
./examples/boot/secret_seal -rsa -publickey=./certs/example-rsa2048-key-pub.der -out=sealblob.bin -secretstr=$SECRET_STRING >> run.out
|
./examples/boot/secret_seal -rsa -publickey=./certs/example-rsa2048-key-pub.der -out=sealblob.bin -secretstr=$SECRET_STRING >> run.out
|
||||||
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "secret seal rsa alt failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "secret seal rsa alt failed! $RESULT" && exit 1
|
||||||
./examples/boot/secret_unseal -pcr=16 -pcrsig=pcrsig.bin -rsa -publickey=./certs/example-rsa2048-key-pub.der -seal=sealblob.bin | tee $TMPFILE >> run.out
|
./examples/boot/secret_unseal -pcr=16 -pcrsig=pcrsig.bin -rsa -publickey=./certs/example-rsa2048-key-pub.der -seal=sealblob.bin | tee $TMPFILE >> run.out
|
||||||
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "secret unseal rsa alt failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "secret unseal rsa alt failed! $RESULT" && exit 1
|
||||||
grep "$SECRET_STRING" $TMPFILE >> run.out
|
grep "$SECRET_STRING" $TMPFILE >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
|
@ -354,13 +368,19 @@ rm $TMPFILE
|
||||||
|
|
||||||
# ECC
|
# ECC
|
||||||
./examples/pcr/policy_sign -pcr=16 -ecc -key=./certs/example-ecc256-key.der -out=pcrsig.bin -outpolicy=policyauth.bin >> run.out
|
./examples/pcr/policy_sign -pcr=16 -ecc -key=./certs/example-ecc256-key.der -out=pcrsig.bin -outpolicy=policyauth.bin >> run.out
|
||||||
[ $RESULT -ne 0 ] && echo -e "policy sign ecc failed! $RESULT" && exit 1
|
RESULT=$?
|
||||||
|
[ $RESULT -ne 0 ] && echo -e "policy sign ecc der failed! $RESULT" && exit 1
|
||||||
|
./examples/pcr/policy_sign -pcr=16 -ecc -key=./certs/example-ecc256-key.pem -out=pcrsig.bin -outpolicy=policyauth.bin >> run.out
|
||||||
|
RESULT=$?
|
||||||
|
[ $RESULT -ne 0 ] && echo -e "policy sign ecc pem failed! $RESULT" && exit 1
|
||||||
|
|
||||||
TMPFILE=$(mktemp)
|
TMPFILE=$(mktemp)
|
||||||
SECRET_STRING=`head -c 32 /dev/random | base64`
|
SECRET_STRING=`head -c 32 /dev/random | base64`
|
||||||
./examples/boot/secret_seal -ecc -policy=policyauth.bin -out=sealblob.bin -secretstr=$SECRET_STRING >> run.out
|
./examples/boot/secret_seal -ecc -policy=policyauth.bin -out=sealblob.bin -secretstr=$SECRET_STRING >> run.out
|
||||||
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "secret seal ecc failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "secret seal ecc failed! $RESULT" && exit 1
|
||||||
./examples/boot/secret_unseal -pcr=16 -pcrsig=pcrsig.bin -ecc -publickey=./certs/example-ecc256-key-pub.der -seal=sealblob.bin | tee $TMPFILE >> run.out
|
./examples/boot/secret_unseal -pcr=16 -pcrsig=pcrsig.bin -ecc -publickey=./certs/example-ecc256-key-pub.der -seal=sealblob.bin | tee $TMPFILE >> run.out
|
||||||
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "secret unseal ecc failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "secret unseal ecc failed! $RESULT" && exit 1
|
||||||
grep "$SECRET_STRING" $TMPFILE >> run.out
|
grep "$SECRET_STRING" $TMPFILE >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
|
@ -371,8 +391,10 @@ rm $TMPFILE
|
||||||
TMPFILE=$(mktemp)
|
TMPFILE=$(mktemp)
|
||||||
SECRET_STRING=`head -c 32 /dev/random | base64`
|
SECRET_STRING=`head -c 32 /dev/random | base64`
|
||||||
./examples/boot/secret_seal -ecc -publickey=./certs/example-ecc256-key-pub.der -out=sealblob.bin -secretstr=$SECRET_STRING >> run.out
|
./examples/boot/secret_seal -ecc -publickey=./certs/example-ecc256-key-pub.der -out=sealblob.bin -secretstr=$SECRET_STRING >> run.out
|
||||||
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "secret seal ecc alt failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "secret seal ecc alt failed! $RESULT" && exit 1
|
||||||
./examples/boot/secret_unseal -pcr=16 -pcrsig=pcrsig.bin -ecc -publickey=./certs/example-ecc256-key-pub.der -seal=sealblob.bin | tee $TMPFILE >> run.out
|
./examples/boot/secret_unseal -pcr=16 -pcrsig=pcrsig.bin -ecc -publickey=./certs/example-ecc256-key-pub.der -seal=sealblob.bin | tee $TMPFILE >> run.out
|
||||||
|
RESULT=$?
|
||||||
[ $RESULT -ne 0 ] && echo -e "secret unseal ecc alt failed! $RESULT" && exit 1
|
[ $RESULT -ne 0 ] && echo -e "secret unseal ecc alt failed! $RESULT" && exit 1
|
||||||
grep "$SECRET_STRING" $TMPFILE >> run.out
|
grep "$SECRET_STRING" $TMPFILE >> run.out
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
|
|
|
@ -7244,7 +7244,7 @@ int wolfTPM2_PolicyRefMake(TPM_ALG_ID pcrAlg, byte* digest, word32* digestSz,
|
||||||
}
|
}
|
||||||
/* policyRef */
|
/* policyRef */
|
||||||
if (rc == 0 && policyRefSz > 0) {
|
if (rc == 0 && policyRefSz > 0) {
|
||||||
rc = wc_HashUpdate(&hash_ctx, hashType, digest, inSz);
|
rc = wc_HashUpdate(&hash_ctx, hashType, policyRef, policyRefSz);
|
||||||
}
|
}
|
||||||
if (rc == 0) {
|
if (rc == 0) {
|
||||||
rc = wc_HashFinal(&hash_ctx, hashType, digest);
|
rc = wc_HashFinal(&hash_ctx, hashType, digest);
|
||||||
|
|
Loading…
Reference in New Issue