#
# Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License").  You may not use
# this file except in compliance with the License.  You can obtain a copy
# in the file LICENSE in the source distribution or at
# https://www.openssl.org/source/license.html

# Tests start with one of these keywords
#       Cipher Decrypt Derive Digest Encoding KDF MAC PBE
#       PrivPubKeyPair Sign Verify VerifyRecover
# and continue until a blank line. Lines starting with a pound sign are ignored.

# Test cases created using OpenSSL
Title = PVKKDF tests

Availablein = legacy
KDF = PVKKDF
Ctrl.pass = pass:password
Ctrl.salt = salt:saltsalt
Ctrl.digest = digest:md5
Output = AE7CF6D3A33A2117FA4F008D66F6D26F

Availablein = legacy
KDF = PVKKDF
Ctrl.pass = pass:password
Ctrl.salt = salt:salt
Ctrl.digest = digest:md5
Output = 67A1E09BB1F83F5007DC119C14D663AA

Availablein = legacy
KDF = PVKKDF
Ctrl.pass = pass:password
Ctrl.salt = salt:saltsalt
Ctrl.digest = digest:md4
Output = E85DE988BB00EF61067A0506DFB044EE
