mcrypto_key

package
v0.0.0-...-4adfca9 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2020 License: AGPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PRIVATE_KEY_PATH = "/etc/marconid/keys/mpkey"
	PUBLIC_KEY_PATH  = PRIVATE_KEY_PATH + ".pub"
)

Variables

This section is empty.

Functions

func GenerateKey

func GenerateKey() []byte

func GetLinkLayerEncryptionKey

func GetLinkLayerEncryptionKey(privateKeyFilePath string, generateIfNotExist bool) []byte

func Keyfile_generate

func Keyfile_generate(path string) (key []byte, e error)

func Keyfile_read

func Keyfile_read(path string) (key []byte, e error)

The key file simply contains a base64 encoded random key. * The default random key size is HMAC_SHA256_SIZE.

func LoadRSAPubKey

func LoadRSAPubKey(pubKeyFilePath string) (pubKey *rsa.PublicKey, err error)

Types

type KeyManager

type KeyManager struct {
	// contains filtered or unexported fields
}

func KeyManagerInstance

func KeyManagerInstance() *KeyManager

func (*KeyManager) DeletePeerPublicKey

func (km *KeyManager) DeletePeerPublicKey(peerPubKeyHash string)

func (*KeyManager) EnsurePrivatePublicKeysGenerated

func (km *KeyManager) EnsurePrivatePublicKeysGenerated()

func (*KeyManager) GetBasePrivateKey

func (km *KeyManager) GetBasePrivateKey() *rsa.PrivateKey

func (*KeyManager) GetBasePublicKey

func (km *KeyManager) GetBasePublicKey() *rsa.PublicKey

func (*KeyManager) GetBasePublicKeyHash

func (km *KeyManager) GetBasePublicKeyHash() string

func (*KeyManager) GetPeerPublicKey

func (km *KeyManager) GetPeerPublicKey(peerPubKeyHash string) (*rsa.PublicKey, error)

func (*KeyManager) HandlePubKeyExchangeSYNRPC

func (km *KeyManager) HandlePubKeyExchangeSYNRPC(r *http.Request, args *PubKeyExchangeSYNArgs, reply *PubKeyExchangeSYNReply) error

func (*KeyManager) InitiatePublicKeyExchange

func (km *KeyManager) InitiatePublicKeyExchange(peerIp string, peerPubKeyHash string) error

func (*KeyManager) LoadBaseKey

func (km *KeyManager) LoadBaseKey(path string)

func (*KeyManager) LoadDefaultBaseKey

func (km *KeyManager) LoadDefaultBaseKey()

func (*KeyManager) SendPubKeyExchangeSynRPC

func (km *KeyManager) SendPubKeyExchangeSynRPC(targetHost string, peerPubKeyHash string) error

func (*KeyManager) SetPeerPublicKey

func (km *KeyManager) SetPeerPublicKey(peerPubKeyHash string, peerPubKey *rsa.PublicKey)

type PubKeyExchangeSYNArgs

type PubKeyExchangeSYNArgs struct {
	Payload string
}

type PubKeyExchangeSYNReply

type PubKeyExchangeSYNReply struct {
	Payload string
}

type PubKeyExchangeService

type PubKeyExchangeService struct{}

func (*PubKeyExchangeService) PubKeyExchangeSYNRPC

func (dhm *PubKeyExchangeService) PubKeyExchangeSYNRPC(r *http.Request, args *PubKeyExchangeSYNArgs, reply *PubKeyExchangeSYNReply) error

Jump to

Keyboard shortcuts

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