Documentation
¶
Index ¶
- Constants
- func DecodePrivateKey(privatekeyPath string) (*rsa.PrivateKey, error)
- func DecodePublicKey(publickeyPath string) (*rsa.PublicKey, error)
- func DecodePublicPrivateKey(keyPath string) (interface{}, error)
- func DecryptAESCTR(data []byte, salt []byte, key []byte) ([]byte, error)
- func DecryptAESCTRReaderWriter(reader io.Reader, writer io.Writer, salt []byte, key []byte) error
- func DecryptFilePGP(source string, target string, key []byte) error
- func DecryptFileSSH(source string, target string, privatekey *rsa.PrivateKey) error
- func DecryptFileWinSCP(source string, target string, key []byte) error
- func DecryptFilenamePGP(filename string) string
- func DecryptFilenameSSH(filename string, privatekey *rsa.PrivateKey) (string, error)
- func DecryptFilenameWinSCP(filename string, key []byte) (string, error)
- func EncryptAESCTR(data []byte, salt []byte, key []byte) ([]byte, error)
- func EncryptAESCTRReaderWriter(reader io.Reader, writer io.Writer, salt []byte, key []byte) error
- func EncryptFilePGP(source string, target string, key []byte) error
- func EncryptFileSSH(source string, target string, publickey *rsa.PublicKey) error
- func EncryptFileWinSCP(source string, target string, key []byte) error
- func EncryptFilenamePGP(filename string) string
- func EncryptFilenameSSH(filename string, publickey *rsa.PublicKey) (string, error)
- func EncryptFilenameWinSCP(filename string, key []byte) (string, error)
- func GetDefaultPrivateKeyPath() string
- func GetDefaultPublicKeyPath() string
- func IsCorrectFilename(filename []byte) bool
- func PadPkcs7(data []byte, blocksize int) []byte
- type EncryptionConfig
- type EncryptionManager
- func (manager *EncryptionManager) DecryptFile(source string, target string) error
- func (manager *EncryptionManager) DecryptFilename(filename string) (string, error)
- func (manager *EncryptionManager) EncryptFile(source string, target string) error
- func (manager *EncryptionManager) EncryptFilename(filename string) (string, error)
- func (manager *EncryptionManager) SetKey(key []byte)
- func (manager *EncryptionManager) SetPublicPrivateKey(keyPath string)
- type EncryptionMode
Constants ¶
const ( PgpEncryptedFileExtension string = ".pgp.enc" PgpSalt string = "4e2f34041d564ed8" )
const ( SshEncryptedFileExtension string = ".rsaaesctr.enc" SshRsaAesCtrHeader string = "rsaaesctr......." )
const ( WinSCPEncryptedFileExtension string = ".aesctr.enc" WinSCPAesCtrHeader string = "aesctr.........." )
const (
AesSaltLen int = 16
)
Variables ¶
This section is empty.
Functions ¶
func DecodePrivateKey ¶
func DecodePrivateKey(privatekeyPath string) (*rsa.PrivateKey, error)
func DecodePublicPrivateKey ¶
DecodePublicPrivateKey decodes public or private key
func DecryptFileSSH ¶
func DecryptFileSSH(source string, target string, privatekey *rsa.PrivateKey) error
func DecryptFilenamePGP ¶
func DecryptFilenameSSH ¶
func DecryptFilenameSSH(filename string, privatekey *rsa.PrivateKey) (string, error)
func DecryptFilenameWinSCP ¶
func EncryptFileSSH ¶
func EncryptFilenamePGP ¶
func EncryptFilenameSSH ¶
func EncryptFilenameWinSCP ¶
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 ¶
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