Documentation ¶
Overview ¶
Package keys holds helper methods to generate/read/convert/write keys for Crypt4GH. Supported keys: OpenSSH (Ed25519), OpenSSL (Ed25519, X25519), Crypt4GH (X25519).
Index ¶
- func DerivePublicKey(privateKey [chacha20poly1305.KeySize]byte) (publicKey [chacha20poly1305.KeySize]byte)
- func GenerateKeyPair() (publicKey, privateKey [chacha20poly1305.KeySize]byte, err error)
- func GenerateReaderSharedKey(privateKey, publicKey [chacha20poly1305.KeySize]byte) (*[]byte, error)
- func GenerateWriterSharedKey(privateKey, publicKey [chacha20poly1305.KeySize]byte) (*[]byte, error)
- func ReadPrivateKey(reader io.Reader, passPhrase []byte) (privateKey [chacha20poly1305.KeySize]byte, err error)
- func ReadPublicKey(reader io.Reader) (publicKey [chacha20poly1305.KeySize]byte, err error)
- func WriteCrypt4GHX25519PrivateKey(writer io.Writer, privateKey [chacha20poly1305.KeySize]byte, password []byte) error
- func WriteCrypt4GHX25519PublicKey(writer io.Writer, publicKey [chacha20poly1305.KeySize]byte) error
- func WriteOpenSSLX25519PrivateKey(writer io.Writer, privateKey [chacha20poly1305.KeySize]byte) error
- func WriteOpenSSLX25519PublicKey(writer io.Writer, publicKey [chacha20poly1305.KeySize]byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DerivePublicKey ¶
func DerivePublicKey(privateKey [chacha20poly1305.KeySize]byte) (publicKey [chacha20poly1305.KeySize]byte)
DerivePublicKey derives public key from X25519 private key.
func GenerateKeyPair ¶
func GenerateKeyPair() (publicKey, privateKey [chacha20poly1305.KeySize]byte, err error)
GenerateKeyPair method generates X25519 key pair.
func GenerateReaderSharedKey ¶
func GenerateReaderSharedKey(privateKey, publicKey [chacha20poly1305.KeySize]byte) (*[]byte, error)
GenerateReaderSharedKey generates shared key for recipient, based on ECDH and BLAKE2 SHA-512.
func GenerateWriterSharedKey ¶
func GenerateWriterSharedKey(privateKey, publicKey [chacha20poly1305.KeySize]byte) (*[]byte, error)
GenerateWriterSharedKey generates shared key for sender, based on ECDH and BLAKE2 SHA-512.
func ReadPrivateKey ¶
func ReadPrivateKey(reader io.Reader, passPhrase []byte) (privateKey [chacha20poly1305.KeySize]byte, err error)
ReadPrivateKey reads private key from io.Reader. Supported keys: OpenSSH (Ed25519), OpenSSL (Ed25519, X25519), Crypt4GH (X25519).
func ReadPublicKey ¶
ReadPublicKey reads public key from io.Reader. Supported keys: OpenSSH (Ed25519), OpenSSL (Ed25519, X25519), Crypt4GH (X25519).
func WriteCrypt4GHX25519PrivateKey ¶
func WriteCrypt4GHX25519PrivateKey(writer io.Writer, privateKey [chacha20poly1305.KeySize]byte, password []byte) error
WriteCrypt4GHX25519PrivateKey writes X25519 public key to io.Writer in Crypt4GH format.
func WriteCrypt4GHX25519PublicKey ¶
WriteCrypt4GHX25519PublicKey writes X25519 public key to io.Writer in Crypt4GH format.
func WriteOpenSSLX25519PrivateKey ¶
func WriteOpenSSLX25519PrivateKey(writer io.Writer, privateKey [chacha20poly1305.KeySize]byte) error
WriteOpenSSLX25519PrivateKey writes X25519 public key to io.Writer in OpenSSL format.
func WriteOpenSSLX25519PublicKey ¶
WriteOpenSSLX25519PublicKey writes X25519 public key to io.Writer in OpenSSL format.
Types ¶
This section is empty.