This repository contains a tool to communicate with the Parsec service on the command-line.
To compile and list the available commands:
$ cargo build
$ cargo run
Ping the service:
$ cargo run -- ping
For demos and to test the Parsec service, you might want to change the Parsec endpoint location. For
that, set the PARSEC_SERVICE_ENDPOINT
environment variable to correction endpoint.
To set a Unix Domain Socket Listener endpoint at /tmp/parsec.sock
:
$ export PARSEC_SERVICE_ENDPOINT=unix:/tmp/parsec.sock
You can set the RUST_LOG
environment variable to modify the logging outpout. See the
documentation for more information.
Unless specified otherwise below, the data format expected by the commands is the same as describe
in the Parsec
Book. The
--help
option of commands might give more information about the expected format.
- ECDSA signatures are formatted using the ASN.1 representation
Ecdsa-Sig-Value
described in RFC 3279. - Plaintext data is expected/shown as a UTF-8 string (input data of
sign
, output data ofdecrypt
). - Ciphertext data is expected/shown as base 64 (output data of
sign
, input data ofdecrypt
). - Exported public keys are encoded in PEM. By default PKCS#8 format
is used for RSA RFC 3279
and ECC RFC 5480
public keys. With
--pkcs1
parameter RSA keys exported in PKCS#1 format RFC 2313.
To be able to authenticate with the JWT-SVID
authenticator,
compile this crate with the spiffe-auth
feature.
tests/parsec-cli-tests.sh
can be used for end to end Parsec tests using parsec-tool.
The software is provided under Apache-2.0. Contributions to this project are accepted under the same license.
Please check the Contribution Guidelines to know more about the contribution process.
Copyright 2020 Contributors to the Parsec project.