virgil-cli

command module
v5.1.7+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2019 License: BSD-3-Clause Imports: 8 Imported by: 0

README

Virgil CLI

Build Status GitHub license

Virgil Security introduces to developers a Virgil CLI – a tool to manage your Virgil account and applications. With minimal configuration, you can start using all of the functionality provided by the Virgil from your favorite terminal program.

  • Linux shells – Use common shell programs such as Bash, Zsh, and tsch to run commands in Linux, macOS, or Unix.
  • Windows command line – On Microsoft Windows, run commands in either PowerShell or the Windows Command Processor.

Content

Installation

Mac OS
Install using Homebrew

You can install the Virgil CLI with Homebrew using the following command:

$ brew update
$ brew install virgil
Install using the package

Download the latest CLI package here: https://github.com/VirgilSecurity/virgil-cli/releases.

Once you've downloaded the latest .tar.gz Virgil CLI file, double click to unzip it. Rename the unzipped folder to virgil_<latest-version> (virgil_5.0.3 for example) and move it to any folder of your choice.

Launch Terminal and type the following command:

ln -s ~/<full-path-to-virgil-file> /usr/local/bin/virgil

Now you will be able to launch the Virgil CLI using Terminal.

Linux

In order to download and install the CLI using Linux, use the following commands:

# navigate to the folder which you want to download the archive to
cd <folder-name>

# download the latest version of the Virgil CLI using its link from the releases page https://github.com/VirgilSecurity/virgil-cli/releases
wget https://github.com/VirgilSecurity/virgil-cli/releases/download/v<latest-version>/virgil_<latest-version>_Linux_x86_64.tar.gz

# unzip the downloaded archive specifying its name
tar xvfz <downloaded-file>

# move cli to /usr/local/bin
mv virgil /usr/local/bin

Now you will be able to launch the Virgil CLI.

Windows

Download the latest CLI package here: https://github.com/VirgilSecurity/virgil-cli/releases.

Once you've downloaded the latest .zip Virgil CLI file, unzip it and rename the unzipped folder to virgil_<latest-version> (virgil_5.0.3 for example). Move the renamed folder to C:\ProgramFiles and copy the full path to the folder.

Edit the system environmental variables:

  1. In Search, search for and then select: System (Control Panel)
  2. Click the Advanced system settings link.
  3. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New.
  4. In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable (paste the copied full path to Virgil CLI folder). Click OK. Close all remaining windows by clicking OK.

Now you will be able to launch Virgil CLI using Command prompt.

Launching Virgil CLI

Run the CLI with the following command:

virgil.exe
# or just `virgil`

To get more information, run the Virgil CLI or its command with the --help or -h option that displays full help list and available commands.

Manage Virgil Account

Register new account

This command is used to create a new account:

$ virgil register <email>
Login into account

This command is used to open session for account:

$ virgil login
Logout from account

This command is used to close the current session for account:

$ virgil logout

Manage Applications

Create new application

This command is used to create new application:

$ virgil app create <app_name>

Note! You have to verify your email in order to be able to create more than one application

Delete application

This command is used to delete application:

$ virgil app delete <app_id>
List applications

This command is used to print list of all user applications:

$ virgil app list
Update application

This command is used to update name of application:

$ virgil app update <app_id>
Use application

This command allows you to specify the application that will be used by default. In this way, you'll be able you to use CLI commands without specifying app_id where it's needed.

$ virgil use <app_name>
Create new App Key

This command is used to create new App Key for current application:

$ virgil app key create --app_id <app_id> <app-key_name>
Delete App Key

This command is used to delete App Key:

$ virgil app key delete --app_id <app_id> <app-key_id>
List App Keys

This command is used to print list of App Keys of the specified application:

$ virgil app key list --app_id <app_id> 
Update App Key

This command is used to update name of App Key:

$ virgil app key update --app_id <app_id> <app-key_id>
Create App Token

This command is used to create an App Token:

$ virgil app token create --app-id <app-id> --name <name>
Delete App Token

This command is used to delete an App Token:

$ virgil app token delete --app-id <app-id> <name>
List App Tokens

This command is used to get App Tokens list:

$ virgil app token list --app-id <app-id>

PureKit Commands

Update keys

This command is used to update the app_secret_key and service_public_key of a Pure application

$ virgil pure update-keys <public_key> <service_secret_key> <update_token>
Generate a secret key

This command is used to generate a new app_secret_key for a Pure application:

$ virgil pure keygen

Manage Application Cards

Config file

Config file is a json, with contains APP_KEY, APP_KEY_ID, APP_ID

It could be generated on dashboard or by hands

config file example :

{
  "APP_KEY": "1234567890",
  "APP_KEY_ID": "12345678901234567890",
  "APP_ID": "12345678901234567890"
}
Search cards

This command searches for any Virgil Card by its identity:

$ virgil cards search -c <file> <identity>,
flags :
-c  - Config file name.
Revoke card

This command deletes Virgil Card by it's id

$ virgil cards delete -c <file> -i <identity> <card_id>,
flags :
-c  - Config file name.
-i  - Card identity, mandatory.

Cryptographic operations

Generate private key

This command generates a User's Private Key:

$ virgil keygen -o <file> -p <password>,
flags :
-o  - Key file name. If omitted, stdout is used.
-p  - Use password to encrypt Private Key. If omitted (not recommended), private key will be generated without password
Extract public key

This command extracts a Public Key from a Private Key:

$ virgil key2pub  -i <file> -o <file> -p <password>,
flags :
-i  - Key's File Name. If omitted, stdin is used.
-o  - Public key's file name. If omitted, stdout is used.
-p  - Use password to decrypt Private Key. 
Encrypt

This command encrypts any data for the specified public key(s):

$ virgil encrypt  -i <file> -o <file> -key <public_key_file_1> -key <public_key_file_2> ...,
flags :
-i  - Data to be encrypted - If omitted, stdin is used..
-o  - Encrypted data. If omitted, stdout is used..
-key  - Public key file (could be many files). 
Decrypt

This command decrypts the encrypted data with a a Private Key:

$ virgil decrypt  -i <file> -o <file> -key <private_key_file>  -p <password>,
flags :
-i  - Data to be decrypted - If omitted, stdin is used.
-o  - Decrypted data. If omitted, stdout is used.
-key  - Private key file. 
-p  - Use password to decrypt Private Key. 
Sign

This command signs data with a provided User’s Private Key:

$ virgil sign  -i <file> -o <file> -key <private_key_file>  -p <password>,
flags :
-i  - Data to be signed - If omitted, stdin is used.
-o  - The signed data. If omitted, stdout is used.
-key  - Private key file. 
-p  - Use password to decrypt Private Key. 
Verify signature

This command signs data with a provided User’s Private Key:

$ virgil verify  -i <file> -s <file> -key <public_key_file> ,
flags :
-i  - File with data which necessary to verify.
-s  - Digest sign.
-key  - Public key file.  If omitted, stdin is used. 

SCMS Commands

Init SCMS module in application

This command inits SCMS services for application:

$ virgil scms init --app-id <app-id> 
Create DCM certificate

Generates DCM certificate for application:

$ virgil scms dcm create --name <dcm_name> --encrypt-pub-key <base64_key> --verify-pub-key <base64_key> --app-token <app_token> 
Get DCM certificates list

Gets DCM certificates for application:

$ virgil scms dcm list --app-token <app_token> 
Get SCMS devices

Gets list of SCMS devices:

$ virgil scms devices list --app-token <app_token> 

License

See LICENSE for details.

Support

Our developer support team is here to help you. Find out more information on our Help Center.

You can find us on Twitter or send us email support@VirgilSecurity.com.

Also, get extra help from our support team on Slack.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
app

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL