pivy | using PIV tokens ( like Yubikeys

 by   arekinath C Version: v0.10.0 License: No License

kandi X-RAY | pivy Summary

kandi X-RAY | pivy Summary

pivy is a C library. pivy has no bugs, it has no vulnerabilities and it has low support. You can download it from GitHub.

This is an implementation of a simple PIV client for desktop Linux and OSX with minimal dependencies. It contains a pivy-tool binary which can conduct basic operations using PIV cards, and the pivy-agent, which implements the SSH agent protocol as a drop-in replacement for the OpenSSH ssh-agent command (except that the keys it contains are always on a PIV card). "PIV cards" notably includes Yubico Yubikey devices such as the NEO and Yubikey4, which can store up to 24 keys by using the "retired key" slots (which this agent supports). This project re-uses most of the agent and protocol parsing code from OpenSSH, where it's been pretty thoroughly battle-hardened.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              pivy has a low active ecosystem.
              It has 160 star(s) with 21 fork(s). There are 30 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 6 open issues and 9 have been closed. On average issues are closed in 142 days. There are 3 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of pivy is v0.10.0

            kandi-Quality Quality

              pivy has no bugs reported.

            kandi-Security Security

              pivy has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              pivy does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              OutlinedDot
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              pivy releases are available to install and integrate.
              Installation instructions are available. Examples and code snippets are not available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of pivy
            Get all kandi verified functions for this library.

            pivy Key Features

            No Key Features are available at this moment for pivy.

            pivy Examples and Code Snippets

            No Code Snippets are available at this moment for pivy.

            Community Discussions

            No Community Discussions are available at this moment for pivy.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install pivy

            I recommend that new users run the pivy-tool setup command -- it will initialise the PIV applet and then generate a standard set of basic keys which will suit most users. The setup command will prompt you to set a PIN and PUK, as well as generating keys. The PIV PIN and PUK are both secret strings of 6-8 ASCII characters which are used to protect access to your device. In the PIV spec, these strings are required to be numeric (consisting only of digits 0 through 9), but many PIV devices such as YubiKeys will allow a much wider variety of characters. The PIN is what you will normally use to authenticate to your device and unlock the use of private keys. By default, 5 invalid attempts to validate the PIN are allowed before it becomes locked. The PUK is intended as a fall-back if the PIN is forgotten, and can be used to reset it when locked. If you supply the PUK incorrectly 3 times (by default), then the card/device becomes locked down and will generally destroy its private keys. It's fine for personal use to set the PIN and PUK to the same value. The PUK is best used in an organisational context where devices are being provisioned for users centrally -- it can be securely stored rather than given to the user and used to help unlock devices when PINs have been forgotten. In a PIV device/card, your keys are stored in a fixed set of "slots", which are known by their numbered slot IDs. The different key "slots" (9a, 9c, 9d and 9e) have different assigned purposes in the PIV spec, but YubiKeys and a lot of compatible devices are not very strict in enforcing these.
            9E: Card Authentication Key (often styled as "CAK"). This key is intended to authenticate only the device/card, not the person who owns it. It defaults to not requiring any authentication to use (no PIN, no touch confirmation on YubiKeys). In pivy-agent, for example, this slot is used to check that the device it's talking to is actually the device it's supposed to be (and not an attacker replacement with the same ID) before giving it the user's PIN.
            9A: PIV Authentication Key. This is the main key used to authenticate the owner of the card/device. It's protected by the PIN by default. You should use this key as your primary option for signature authentication (e.g. this is the key you should add to .ssh/authorized_keys or GitHub).
            9C: Signature Key. This key is intended for use signing documents or certificates. Since this purpose is not as common as authentication amongst users of pivy, it also serves duty as a backup authentication key. If you need to SSH or auth to a system that does not support EC keys, this key is an RSA key so that you can use it as a fallback for the 9A key. It requires a PIN by default, like 9A.
            9D: Key Management Key. This key is intended for use only to derive symmetric keys to encrypt/decrypt data. It's a matter of some controversy in the cryptography community whether it's entirely safe to use the same EC key both for signing and key derivation (ECDH), so I would recommend you avoid signing arbitrary data with your 9D key (don't use it for regular authentication). See the next section for more information about using this key to encrypt data at rest. Requires both PIN and touch confirmation (on YubiKeys).

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/arekinath/pivy.git

          • CLI

            gh repo clone arekinath/pivy

          • sshUrl

            git@github.com:arekinath/pivy.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link