| @echo off |
| |
| REM ############################################################################# |
| REM # # |
| REM # TPM2 regression test # |
| REM # Written by Ken Goldman # |
| REM # IBM Thomas J. Watson Research Center # |
| REM # # |
| REM # (c) Copyright IBM Corporation 2015 - 2020 # |
| REM # # |
| REM # All rights reserved. # |
| REM # # |
| REM # Redistribution and use in source and binary forms, with or without # |
| REM # modification, are permitted provided that the following conditions are # |
| REM # met: # |
| REM # # |
| REM # Redistributions of source code must retain the above copyright notice, # |
| REM # this list of conditions and the following disclaimer. # |
| REM # # |
| REM # Redistributions in binary form must reproduce the above copyright # |
| REM # notice, this list of conditions and the following disclaimer in the # |
| REM # documentation and/or other materials provided with the distribution. # |
| REM # # |
| REM # Neither the names of the IBM Corporation nor the names of its # |
| REM # contributors may be used to endorse or promote products derived from # |
| REM # this software without specific prior written permission. # |
| REM # # |
| REM # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # |
| REM # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # |
| REM # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # |
| REM # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # |
| REM # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # |
| REM # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # |
| REM # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # |
| REM # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # |
| REM # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # |
| REM # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # |
| REM # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # |
| REM # # |
| REM ############################################################################# |
| |
| setlocal enableDelayedExpansion |
| |
| set soc= |
| set mssim= |
| if "%TPM_INTERFACE_TYPE%" == "" ( |
| set soc=1 |
| ) |
| if "%TPM_INTERFACE_TYPE%" == "socsim" ( |
| set soc=1 |
| ) |
| if defined soc ( |
| if "%TPM_SERVER_TYPE%" == "" ( |
| set mssim=1 |
| ) |
| if "%TPM_SERVER_TYPE%" == "mssim" ( |
| set mssim=1 |
| ) |
| ) |
| |
| set ITERATE_ALGS=sha1 sha256 sha384 sha512 |
| set BAD_ITERATE_ALGS=sha256 sha384 sha512 sha1 |
| |
| if defined mssim ( |
| call regtests\inittpm.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed inittpm.bat" |
| exit /B 1 |
| ) |
| ) |
| |
| for /f %%i in ('%TPM_EXE_PATH%getrandom -by 16 -ns') do set TPM_SESSION_ENCKEY=%%i |
| echo "Session state encryption key" |
| echo %TPM_SESSION_ENCKEY% |
| |
| call regtests\initkeys.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed initkeys.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testrng.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testrng.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testpcr.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testpcr.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testprimary.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testprimary.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testcreateloaded.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testcreateloaded.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testhmacsession.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testhmacsession.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testbind.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testbind.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testsalt.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testsalt.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testhierarchy.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testhierarchy.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\teststorage.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed teststorage.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testchangeauth.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testchangeauth.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testencsession.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testencsession.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testsign.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testsign.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testnv.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testnv.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testnvpin.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testnvpin.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testevict.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testevict.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testrsa.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testrsa.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testaes.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testaes.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testaes138.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testaes138.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testhmac.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testhmac.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testattest.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testattest.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testpolicy.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testpolicy.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testpolicy138.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testpolicy138.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testcontext.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testcontext.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testclocks.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testclocks.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testda.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testda.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testunseal.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testunseal.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testdup.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testdup.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testecc.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testecc.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testcredential.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testcredential.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testattest155.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testattest155.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testx509.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testx509.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testgetcap.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testgetcap.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testshutdown.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testshutdown.bat" |
| exit /B 1 |
| ) |
| |
| call regtests\testchangeseed.bat |
| IF !ERRORLEVEL! NEQ 0 ( |
| echo "" |
| echo "Failed testchangeseed.bat" |
| exit /B 1 |
| ) |
| |
| REM cleanup |
| |
| %TPM_EXE_PATH%flushcontext -ha 80000000 |
| |
| rm -f dec.bin |
| rm -f derpriv.bin |
| rm -f derpub.bin |
| rm -f despriv.bin |
| rm -f despub.bin |
| rm -f empty.bin |
| rm -f enc.bin |
| rm -f khprivsha1.bin |
| rm -f khprivsha256.bin |
| rm -f khprivsha384.bin |
| rm -f khprivsha512.bin |
| rm -f khpubsha1.bin |
| rm -f khpubsha256.bin |
| rm -f khpubsha384.bin |
| rm -f khpubsha512.bin |
| rm -f msg.bin |
| rm -f noncetpm.bin |
| rm -f policyapproved.bin |
| rm -f prich.bin |
| rm -f pritk.bin |
| rm -f pssig.bin |
| rm -f run.out |
| rm -f sig.bin |
| rm -f signeccpriv.bin |
| rm -f signeccpub.bin |
| rm -f signeccpub.pem |
| rm -f signpriv.bin |
| rm -f signpub.bin |
| rm -f signpub.pem |
| rm -f signpub.pem |
| rm -f signrpriv.bin |
| rm -f signrpub.bin |
| rm -f signrpub.pem |
| rm -f stoch.bin |
| rm -f storeeccpriv.bin |
| rm -f storeeccpub.bin |
| rm -f storepriv.bin |
| rm -f storepub.bin |
| rm -f stotk.bin |
| rm -f tkt.bin |
| rm -f tmp.bin |
| rm -f tmp1.bin |
| rm -f tmp2.bin |
| rm -f tmppriv.bin |
| rm -f tmppub.bin |
| rm -f tmpsha1.bin |
| rm -f tmpsha256.bin |
| rm -f tmpsha384.bin |
| rm -f tmpsha512.bin |
| rm -f tmpspriv.bin |
| rm -f tmpspub.bin |
| rm -f to.bin |
| rm -f zero.bin |
| |
| echo "" |
| echo "Success" |
| |
| exit /B 0 |