Tuesday 11.7.2017 16:04:20, Jakuje

Kategorie: Programování | Operační systémy | Linux

First of all, we wil define some variables, with card PIN and IDs of signing and encryption keys:


export PIN=111111
export SIGN_KEY=11
export ENC_KEY=55

The following commands are supposed to be run from the directory src/tools/ of currenlty built OpenSC. If you want to run it against system-wide installed version, just replace ./pkcs11-tool with pkcs11-tool and use your system-wide pkcs11 provider as a --module argument.

 

Sign/Verify using private key/certificate

echo "data to sign (max 100 bytes)" > data
./pkcs11-tool -r -p $PIN --id $SIGN_KEY --type cert --module ../pkcs11/.libs/opensc-pkcs11.so > $SIGN_KEY.cert
 openssl x509 -inform DER -in $SIGN_KEY.cert -pubkey > $SIGN_KEY.cert.pub

RSA-PKCS mechanism

cat data | ./pkcs11-tool --id $SIGN_KEY -s -p $PIN -m RSA-PKCS --module ../pkcs11/.libs/opensc-pkcs11.so > data.sig
openssl rsautl -verify -inkey $SIGN_KEY.cert.pub -in data.sig -pubin

RSA-X-509 mechanism

(echo -ne "x00x01" && for i in `seq 224`; do echo -ne "xff"; done && echo -ne "0" && cat data) > data_pad
cat data_pad | ./pkcs11-tool --id $SIGN_KEY -s -p $PIN -m RSA-X-509 --module ../pkcs11/.libs/opensc-pkcs11.so > data_pad.sig
openssl rsautl -verify -inkey $SIGN_KEY.cert.pub -in data_pad.sig -pubin -raw

Encrypt/Decrypt using private key/certificate

echo "data to encrpyt should be longer, better, faster and whatever we need to hide in front of nasty eyes of the ones that should not see them. " > data
 ./pkcs11-tool -r -p $PIN --id $ENC_KEY --type cert --module ../pkcs11/.libs/opensc-pkcs11.so > $ENC_KEY.cert
openssl x509 -inform DER -in $ENC_KEY.cert -pubkey > $ENC_KEY.pub

RSA-PKCS mechanism

openssl rsautl -encrypt -inkey $ENC_KEY.pub -in data -pubin -out data.crypt
cat data.crypt | ./pkcs11-tool --id $ENC_KEY --decrypt -p $PIN -m RSA-PKCS --module ../pkcs11/.libs/opensc-pkcs11.so

RSA-X-509 mechanism

 (echo -ne "x00x02" && for i in `seq 113`; do echo -ne "xff"; done && echo -ne "�0" && cat data) > data_pad
 openssl rsautl -encrypt -inkey $ENC_KEY.pub -in data_pad -pubin -out data_pad.crypt -raw
 cat data_pad.crypt | ./pkcs11-tool --id $ENC_KEY --decrypt -p $PIN -m RSA-X-509 --module ../pkcs11/.libs/opensc-pkcs11.so

Diskuse:

:
:
:

 
    

Podbarvená pole označená hvězdičkou jsou povinná!

Skrýt
An error occurred:
Message: MySQL query Error: Out of range value for column 'views' at row 1
Query: UPDATE `j_rs` SET `views` = `views` + 1 WHERE `id`='27'
Error code: 252
Error type: Fatal Error in aplication
File: /home/jakuje/www/com_dta3_jakuje/module/Mysql.php
Line: 612