storage

package
v0.0.3-0...-8c2b2c2 Latest Latest
Warning

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

Go to latest
Published: May 2, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package storage implements a encrypted storage mechanism for interactsh external interaction data.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CorrelationData

type CorrelationData struct {
	// data contains data for a correlation-id in AES encrypted json format.
	Data []string `json:"data"`

	// AESKey is the AES encryption key in encrypted format.
	AESKey string `json:"aes-key"`
	// contains filtered or unexported fields
}

CorrelationData is the data for a correlation-id.

type Storage

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

Storage is an storage for interactsh interaction data as well as correlation-id -> rsa-public-key data.

func New

func New(evictionTTL time.Duration) *Storage

New creates a new storage instance for interactsh data.

func (*Storage) AddInteraction

func (s *Storage) AddInteraction(correlationID string, data []byte) error

AddInteraction adds an interaction data to the correlation ID after encrypting it with Public Key for the provided correlation ID.

func (*Storage) GetInteractions

func (s *Storage) GetInteractions(correlationID, secret string) ([]string, string, error)

GetInteractions returns the interactions for a correlationID and removes it from the storage. It also returns AES Encrypted Key for the IDs.

func (*Storage) RemoveID

func (s *Storage) RemoveID(correlationID string) error

RemoveID removes data for a correlation ID and data related to it.

func (*Storage) SetIDPublicKey

func (s *Storage) SetIDPublicKey(correlationID, secretKey string, publicKey string) error

SetIDPublicKey sets the correlation ID and publicKey into the cache for further operations.

Jump to

Keyboard shortcuts

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