Provided by: opensc_0.22.0-2ubuntu1_amd64 bug


       pkcs15-crypt - perform crypto operations using PKCS#15 smart cards


       pkcs15-crypt [OPTIONS]


       The pkcs15-crypt utility can be used from the command line to perform cryptographic
       operations such as computing digital signatures or decrypting data, using keys stored on a
       PKCS#15 compliant smart card.


           Print the OpenSC package release version.

       --aid aid
           Specify the AID of the on-card PKCS#15 application to bind to. The aid must be in
           hexadecimal form.

       --decipher, -c
           Decrypt the contents of the file specified by the --input option. The result of the
           decryption operation is written to the file specified by the --output option. If this
           option is not given, the decrypted data is printed to standard output, displaying
           non-printable characters using their hex notation xNN (see also --raw).

       --input file, -i file
           Specifies the input file to use. Defaults to stdin if not specified.

       --key id, -k id
           Selects the ID of the key to use.

       --output file, -o file
           Any output will be sent to the specified file. Defaults to stdout if not specified.

       --pin pin, -p pin
           When the cryptographic operation requires a PIN to access the key, pkcs15-crypt will
           prompt the user for the PIN on the terminal. Using this option allows you to specify
           the PIN on the command line.

           Note that on most operating systems, the command line of a process can be displayed by
           any user using the ps(1) command. It is therefore a security risk to specify secret
           information such as PINs on the command line. If you specify '-' as PIN, it will be
           read from STDIN.

           By default, pkcs15-crypt assumes that input data has been padded to the correct length
           (i.e. when computing an RSA signature using a 1024 bit key, the input must be padded
           to 128 bytes to match the modulus length). When giving the --pkcs1 option, however,
           pkcs15-crypt will perform the required padding using the algorithm outlined in the
           PKCS #1 standard version 1.5.

       --raw, -R
           Outputs raw 8 bit data.

       --reader arg, -r arg
           Number of the reader to use. By default, the first reader with a present card is used.
           If arg is an ATR, the reader with a matching card will be chosen.

       --md5 --sha-1 --sha-224 --sha-256 --sha-384 --sha-512
           These options tell pkcs15-crypt that the input file is the result of the specified
           hash operation. By default, an MD5 hash is expected. Again, the data must be in binary

       --sign, -s
           Perform digital signature operation on the data read from a file specified using the
           --input option. By default, the contents of the file are assumed to be the result of
           an MD5 hash operation. Note that pkcs15-crypt expects the data in binary
           representation, not ASCII.

           The digital signature is stored, in binary representation, in the file specified by
           the --output option. If this option is not given, the signature is printed on standard
           output, displaying non-printable characters using their hex notation xNN (see also

       --signature-format, --f
           When signing with ECDSA key this option indicates to pkcs15-crypt the signature output
           format. Possible values are 'rs'(default) -- two concatenated integers (PKCS#11),
           'sequence' or 'openssl' -- DER encoded sequence of two integers (OpenSSL).

       --wait, -w
           Causes pkcs15-crypt to wait for a card insertion.

       --verbose, -v
           Causes pkcs15-crypt to be more verbose. Specify this flag several times to enable
           debug output in the OpenSC library.


       pkcs15-init(1), pkcs15-tool(1)


       pkcs15-crypt was written by Juha Yrjölä <>.