encryption

package
v0.11.5 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2026 License: BSD-3-Clause Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PgpEncryptedFileExtension string = ".pgp.enc"

	PgpSalt string = "4e2f34041d564ed8"
)
View Source
const (
	SshEncryptedFileExtension string = ".rsaaesctr.enc"
	SshRsaAesCtrHeader        string = "rsaaesctr......."
)
View Source
const (
	WinSCPEncryptedFileExtension string = ".aesctr.enc"

	WinSCPAesCtrHeader string = "aesctr.........."
)
View Source
const (
	AesSaltLen int = 16
)

Variables

This section is empty.

Functions

func DecodePrivateKey

func DecodePrivateKey(privatekeyPath string) (*rsa.PrivateKey, error)

func DecodePublicKey

func DecodePublicKey(publickeyPath string) (*rsa.PublicKey, error)

func DecodePublicPrivateKey

func DecodePublicPrivateKey(keyPath string) (interface{}, error)

DecodePublicPrivateKey decodes public or private key

func DecryptAESCTR

func DecryptAESCTR(data []byte, salt []byte, key []byte) ([]byte, error)

func DecryptAESCTRReaderWriter

func DecryptAESCTRReaderWriter(reader io.Reader, writer io.Writer, salt []byte, key []byte) error

func DecryptFilePGP

func DecryptFilePGP(source string, target string, key []byte) error

func DecryptFileSSH

func DecryptFileSSH(source string, target string, privatekey *rsa.PrivateKey) error

func DecryptFileWinSCP

func DecryptFileWinSCP(source string, target string, key []byte) error

func DecryptFilenamePGP

func DecryptFilenamePGP(filename string) string

func DecryptFilenameSSH

func DecryptFilenameSSH(filename string, privatekey *rsa.PrivateKey) (string, error)

func DecryptFilenameWinSCP

func DecryptFilenameWinSCP(filename string, key []byte) (string, error)

func EncryptAESCTR

func EncryptAESCTR(data []byte, salt []byte, key []byte) ([]byte, error)

func EncryptAESCTRReaderWriter

func EncryptAESCTRReaderWriter(reader io.Reader, writer io.Writer, salt []byte, key []byte) error

func EncryptFilePGP

func EncryptFilePGP(source string, target string, key []byte) error

func EncryptFileSSH

func EncryptFileSSH(source string, target string, publickey *rsa.PublicKey) error

func EncryptFileWinSCP

func EncryptFileWinSCP(source string, target string, key []byte) error

func EncryptFilenamePGP

func EncryptFilenamePGP(filename string) string

func EncryptFilenameSSH

func EncryptFilenameSSH(filename string, publickey *rsa.PublicKey) (string, error)

func EncryptFilenameWinSCP

func EncryptFilenameWinSCP(filename string, key []byte) (string, error)

func GetDefaultPrivateKeyPath

func GetDefaultPrivateKeyPath() string

GetDefaultPrivateKeyPath returns default private key path

func GetDefaultPublicKeyPath

func GetDefaultPublicKeyPath() string

GetDefaultPublicKeyPath returns default public key path, if public key does not exist, return private key path.

func IsCorrectFilename

func IsCorrectFilename(filename []byte) bool

func PadPkcs7

func PadPkcs7(data []byte, blocksize int) []byte

Types

type EncryptionConfig

type EncryptionConfig struct {
	Mode EncryptionMode
}

func GetEncryptionConfigFromMeta

func GetEncryptionConfigFromMeta(filesystem *irodsclient_fs.FileSystem, targetPath string) *EncryptionConfig

GetEncryptionConfigFromMeta returns encryption config from meta

type EncryptionManager

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

func NewEncryptionManager

func NewEncryptionManager(mode EncryptionMode) *EncryptionManager

NewEncryptionManager creates a new EncryptionManager

func (*EncryptionManager) DecryptFile

func (manager *EncryptionManager) DecryptFile(source string, target string) error

DecryptFile decrypts local source file and returns decrypted file path

func (*EncryptionManager) DecryptFilename

func (manager *EncryptionManager) DecryptFilename(filename string) (string, error)

DecryptFilename decrypts filename

func (*EncryptionManager) EncryptFile

func (manager *EncryptionManager) EncryptFile(source string, target string) error

EncryptFile encrypts local source file and returns encrypted file path

func (*EncryptionManager) EncryptFilename

func (manager *EncryptionManager) EncryptFilename(filename string) (string, error)

EncryptFilename encrypts filename

func (*EncryptionManager) SetKey

func (manager *EncryptionManager) SetKey(key []byte)

SetKey sets key

func (*EncryptionManager) SetPublicPrivateKey

func (manager *EncryptionManager) SetPublicPrivateKey(keyPath string)

SetPublicPrivateKey sets public or private key automatically

type EncryptionMode

type EncryptionMode string

EncryptionMode determines encryption mode

const (
	// EncryptionModeWinSCP is for WinSCP
	EncryptionModeWinSCP EncryptionMode = "WINSCP"
	// EncryptionModePGP is for PGP key encryption
	EncryptionModePGP EncryptionMode = "PGP"
	// EncryptionModeSSH is for SSH key encryption
	EncryptionModeSSH EncryptionMode = "SSH"
	// EncryptionModeNone is for none encryption
	EncryptionModeNone EncryptionMode = "NONE"
)

func DetectEncryptionMode

func DetectEncryptionMode(p string) EncryptionMode

DetectEncryptionMode detects encryption mode and filename encryption

func GetEncryptionMode

func GetEncryptionMode(mode string) EncryptionMode

GetEncryptionMode returns encryption mode

Jump to

Keyboard shortcuts

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