@@ -138,6 +138,9 @@ var sha256TestVectors = []testVector{
138
138
}
139
139
140
140
func testHash (t * testing.T , h func () hash.Hash , hashName string , vectors []testVector ) {
141
+ if ! openssl .SupportsPBKDF2 () {
142
+ t .Skip ("PBKDF2 is not supported" )
143
+ }
141
144
for i , v := range vectors {
142
145
o , err := openssl .PBKDF2 ([]byte (v .password ), []byte (v .salt ), v .iter , len (v .output ), h )
143
146
if err != nil {
@@ -150,15 +153,18 @@ func testHash(t *testing.T, h func() hash.Hash, hashName string, vectors []testV
150
153
}
151
154
}
152
155
153
- func TestWithHMACSHA1 (t * testing.T ) {
156
+ func TestPBKDF2WithHMACSHA1 (t * testing.T ) {
154
157
testHash (t , openssl .NewSHA1 , "SHA1" , sha1TestVectors )
155
158
}
156
159
157
- func TestWithHMACSHA256 (t * testing.T ) {
160
+ func TestPBKDF2WithHMACSHA256 (t * testing.T ) {
158
161
testHash (t , openssl .NewSHA256 , "SHA256" , sha256TestVectors )
159
162
}
160
163
161
- func TestWithUnsupportedHash (t * testing.T ) {
164
+ func TestPBKDF2WithUnsupportedHash (t * testing.T ) {
165
+ if ! openssl .SupportsPBKDF2 () {
166
+ t .Skip ("PBKDF2 is not supported" )
167
+ }
162
168
// Test that PBKDF2 returns an error for unsupported hashes instead of panicking.
163
169
_ , err := openssl .PBKDF2 ([]byte {1 , 2 }, []byte {3 , 4 }, 0 , 2 , newStubHash )
164
170
if err == nil {
@@ -179,10 +185,10 @@ func benchmark(b *testing.B, h func() hash.Hash) {
179
185
sink += password [0 ]
180
186
}
181
187
182
- func BenchmarkHMACSHA1 (b * testing.B ) {
188
+ func BenchmarkPBKDF2HMACSHA1 (b * testing.B ) {
183
189
benchmark (b , sha1 .New )
184
190
}
185
191
186
- func BenchmarkHMACSHA256 (b * testing.B ) {
192
+ func BenchmarkPBKDF2HMACSHA256 (b * testing.B ) {
187
193
benchmark (b , sha256 .New )
188
194
}
0 commit comments