Skip to content

Commit

Permalink
README: move test script to sanity_test.sh
Browse files Browse the repository at this point in the history
Move test script from README to sanity_test.sh

Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
  • Loading branch information
zhangfeigao authored and gaozhangfei committed Mar 31, 2022
1 parent 1b8b65e commit 5dab65c
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 103 deletions.
103 changes: 1 addition & 102 deletions README
Expand Up @@ -63,108 +63,7 @@ Build & Install OpenSSL UADK Engine
Testing
-------
```
sudo test/sanity_test.sh
```
1. Cipher
```
openssl enc -aes-128-cbc -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-128-cbc -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-192-cbc -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-192-cbc -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-256-cbc -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-256-cbc -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-128-ecb -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-128-ecb -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-192-ecb -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-192-ecb -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-256-ecb -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-256-ecb -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-128-ctr -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-128-ctr -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-192-ctr -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-192-ctr -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-256-ctr -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -aes-256-ctr -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -sm4-cbc -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -sm4-cbc -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -sm4-ecb -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -sm4-ecb -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -des-ede3-cbc -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -des-ede3-cbc -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -des-ede3-ecb -a -in data -out data.en -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl enc -des-ede3-ecb -a -d -in data.en -out data.de -pass pass:123456 -K abc -iv abc -engine uadk_engine -p
openssl speed -engine uadk_engine -async_jobs 1 -evp aes-128-cbc
openssl speed -engine uadk_engine -async_jobs 1 -evp sm4-cbc
openssl speed -engine uadk_engine -async_jobs 1 -evp des-ede3-cbc
```
2. RSA
```
openssl genrsa -out prikey.pem -engine uadk_engine 2048
openssl rsa -in prikey.pem -pubout -out pubkey.pem -engine uadk_engine
openssl rsautl -encrypt -in plain.txt -inkey pubkey.pem -pubin -out enc.txt -engine uadk_engine
openssl rsautl -decrypt -in enc.txt -inkey prikey.pem -out dec.txt -engine uadk_engine
openssl rsautl -sign -in msg.txt -inkey prikey.pem -out signed.txt -engine uadk_engine
openssl rsautl -verify -in signed.txt -inkey pubkey.pem -pubin -out verified.txt -engine uadk_engine
openssl speed -elapsed -engine uadk_engine rsa2048
openssl speed -elapsed -engine uadk_engine -async_jobs 10 rsa2048
```
3. SM3
```
openssl sm3 -engine uadk_engine data
```
4. MD5
```
openssl speed -engine uadk_engine -async_jobs 1 -evp md5
```
5. SHA
```
openssl sha1 -engine uadk_engine data
openssl sha256 -engine uadk_engine data
openssl sha512 -engine uadk_engine data
```
6. DH

[step 1] Generate global public parameters, and save them in the file
dhparam.pem:
```
openssl dhparam -out dhparam.pem 2048
```
[step 2] Generate own private key:
```
openssl genpkey -paramfile dhparam.pem -out privatekey1.pem
openssl genpkey -paramfile dhparam.pem -out privatekey2.pem
```
[step 3] Generate public key:
```
openssl pkey -in privatekey1.pem -pubout -out publickey1.pem -engine uadk
openssl pkey -in privatekey2.pem -pubout -out publickey2.pem -engine uadk
```
[step 4] After exchanging public key, each user can derive the shared secret:
```
openssl pkeyutl -derive -inkey privatekey1.pem -peerkey publickey2.pem -out
secret1.bin -engine uadk_engine
openssl pkeyutl -derive -inkey privatekey2.pem -peerkey publickey1.pem -out
secret2.bin -engine uadk_engine
```
[step 5] Check secret1.bin and secret2.bin:
```
cmp secret1.bin secret2.bin
xxd secret1.bin
xxd secret2.bin
```
secret1.bin and secret2.bin should be the same.

7. SM2
```
openssl speed -elapsed -engine uadk_engine sm2
openssl speed -elapsed -engine uadk_engine -async_jobs 1 sm2
openssl ecparam -genkey -name SM2 -out SM2PrivateKey.pem
openssl ec -in SM2PrivateKey.pem -pubout -out SM2PublicKey.pem
```
8. ECDSA
```
openssl speed -elapsed -engine uadk_engine ecdsap256
openssl speed -elapsed -engine uadk_engine -async_jobs 1 ecdsap256
./test/sanity_test.sh
```

Environment variable of uadk engine
Expand Down
39 changes: 38 additions & 1 deletion test/sanity_test.sh
@@ -1,6 +1,6 @@
#!/bin/bash

chmod 666 /dev/hisi_*
sudo chmod 666 /dev/hisi_*

if [ ! -n "$1" ]; then
engine_id=uadk_engine
Expand All @@ -24,6 +24,12 @@ if [[ $algs =~ "SM3" ]]; then
openssl speed -engine $engine_id -async_jobs 1 -evp sm3
fi

if [[ $algs =~ "SM2" ]]; then
echo "testing SM2"
openssl speed -engine $engine_id -evp sm2
openssl speed -engine $engine_id -async_jobs 1 -evp sm2
fi

if [[ $algs =~ "SHA" ]]; then
echo "testing SHA"
openssl speed -engine $engine_id -evp sha1
Expand Down Expand Up @@ -58,6 +64,12 @@ if [[ $algs =~ "AES" ]]; then
openssl speed -engine $engine_id -async_jobs 1 -evp aes-128-xts
openssl speed -engine $engine_id -evp aes-256-xts
openssl speed -engine $engine_id -async_jobs 1 -evp aes-256-xts
openssl speed -engine $engine_id -evp aes-128-ctr
openssl speed -engine $engine_id -async_jobs 1 -evp aes-128-ctr
openssl speed -engine $engine_id -evp aes-192-ctr
openssl speed -engine $engine_id -async_jobs 1 -evp aes-192-ctr
openssl speed -engine $engine_id -evp aes-256-ctr
openssl speed -engine $engine_id -async_jobs 1 -evp aes-256-ctr
fi

if [[ $algs =~ "SM4-CBC" ]]; then
Expand Down Expand Up @@ -134,3 +146,28 @@ if [[ $algs =~ "id-ecPublicKey" ]]; then
openssl speed -elapsed -engine $engine_id ecdhbrp384r1
openssl speed -elapsed -engine $engine_id -async_jobs 1 ecdhbrp384r1
fi

#DH
if [[ $algs =~ "DH" ]]; then
echo "testing DH"
#1. Generate global public parameters, and save them in the file dhparam.pem:
openssl dhparam -out dhparam.pem 2048

#2. Generate own private key:
openssl genpkey -paramfile dhparam.pem -out privatekey1.pem
openssl genpkey -paramfile dhparam.pem -out privatekey2.pem

#3. Generate public key:
openssl pkey -in privatekey1.pem -pubout -out publickey1.pem -engine $engine_id
openssl pkey -in privatekey2.pem -pubout -out publickey2.pem -engine $engine_id

#4. After exchanging public key, each user can derive the shared secret:
openssl pkeyutl -derive -inkey privatekey1.pem -peerkey publickey2.pem -out secret1.bin -engine $engine_id
openssl pkeyutl -derive -inkey privatekey2.pem -peerkey publickey1.pem -out secret2.bin -engine $engine_id

#5. Check secret1.bin and secret2.bin:
cmp secret1.bin secret2.bin
xxd secret1.bin
xxd secret2.bin
#secret1.bin and secret2.bin should be same.
fi

0 comments on commit 5dab65c

Please sign in to comment.