1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
|
REM #############################################################################
REM #
REM TPM2 regression test #
REM Written by Ken Goldman #
REM IBM Thomas J. Watson Research Center #
REM $Id: testprimary.bat 480 2015-12-29 22:41:45Z kgoldman $ #
REM #
REM (c) Copyright IBM Corporation 2015 #
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
echo ""
echo "Primary key - CreatePrimary"
echo ""
echo "Create a primary storage key"
%TPM_EXE_PATH%createprimary -hi p -pwdk pps > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Read the public part"
%TPM_EXE_PATH%readpublic -ho 80000001 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Create a storage key under the primary key"
%TPM_EXE_PATH%create -hp 80000001 -st -kt f -kt p -opr tmppriv.bin -opu tmppub.bin -pwdp pps -pwdk sto > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Load the storage key under the primary key"
%TPM_EXE_PATH%load -hp 80000001 -ipr tmppriv.bin -ipu tmppub.bin -pwdp pps > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the storage key"
%TPM_EXE_PATH%flushcontext -ha 80000002 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the primary storage key"
%TPM_EXE_PATH%flushcontext -ha 80000001 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Load the storage key under the primary key - should fail"
%TPM_EXE_PATH%load -hp 80000001 -ipr tmppriv.bin -ipu tmppub.bin -pwdp pps > run.out
IF !ERRORLEVEL! EQU 0 (
exit /B 1
)
echo ""
echo "Primary key - CreatePrimary with no unique field"
echo ""
REM no unique
echo "Create a primary storage key with no unique field"
%TPM_EXE_PATH%createprimary -hi p -pwdk pps > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Create a storage key under the primary key"
%TPM_EXE_PATH%create -hp 80000001 -st -kt f -kt p -opr tmppriv.bin -opu tmppub.bin -pwdp pps -pwdk sto > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Load the storage key under the primary key"
%TPM_EXE_PATH%load -hp 80000001 -ipr tmppriv.bin -ipu tmppub.bin -pwdp pps > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the storage key"
%TPM_EXE_PATH%flushcontext -ha 80000002 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the primary storage key"
%TPM_EXE_PATH%flushcontext -ha 80000001 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
REM empty unique
echo "Create a primary storage key with no unique field"
touch empty.bin
%TPM_EXE_PATH%createprimary -hi p -pwdk pps -iu empty.bin > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Load the original storage key under the primary key with empty unique field"
%TPM_EXE_PATH%load -hp 80000001 -ipr tmppriv.bin -ipu tmppub.bin -pwdp pps > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the storage key"
%TPM_EXE_PATH%flushcontext -ha 80000002 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the primary storage key"
%TPM_EXE_PATH%flushcontext -ha 80000001 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo ""
echo "Primary key - CreatePrimary with unique field"
echo ""
REM unique
echo "Create a primary storage key with unique field"
touch empty.bin
%TPM_EXE_PATH%createprimary -hi p -pwdk pps -iu policies/aaa > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Load the original storage key under the primary key - should fail"
%TPM_EXE_PATH%load -hp 80000001 -ipr tmppriv.bin -ipu tmppub.bin -pwdp pps > run.out
IF !ERRORLEVEL! EQU 0 (
exit /B 1
)
echo "Create a storage key under the primary key"
%TPM_EXE_PATH%create -hp 80000001 -st -kt f -kt p -opr tmppriv.bin -opu tmppub.bin -pwdp pps -pwdk sto > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Load the storage key under the primary key"
%TPM_EXE_PATH%load -hp 80000001 -ipr tmppriv.bin -ipu tmppub.bin -pwdp pps > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the storage key"
%TPM_EXE_PATH%flushcontext -ha 80000002 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the primary storage key"
%TPM_EXE_PATH%flushcontext -ha 80000001 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
REM same unique
echo "Create a primary storage key with same unique field"
%TPM_EXE_PATH%createprimary -hi p -pwdk pps -iu policies/aaa > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Load the previous storage key under the primary key"
%TPM_EXE_PATH%load -hp 80000001 -ipr tmppriv.bin -ipu tmppub.bin -pwdp pps > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the storage key"
%TPM_EXE_PATH%flushcontext -ha 80000002 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
echo "Flush the primary storage key"
%TPM_EXE_PATH%flushcontext -ha 80000001 > run.out
IF !ERRORLEVEL! NEQ 0 (
exit /B 1
)
exit /B 0
REM getcapability -cap 1 -pr 80000000
|