Documentation ¶
Index ¶
- Variables
- func ByteArray2File(file *os.File, bytes []byte) error
- func ByteArray2ReponseWriter(file http.ResponseWriter, bytes []byte) error
- func CaptureOutput(f func()) (stderr string, stdout string)
- func CondDebug(msg ...string)
- func CondDebugSet(val bool)
- func CondDebugStatus() bool
- func CondDebugln(msg ...string)
- func CreateRSAKeyPair() (*rsa.PrivateKey, *rsa.PublicKey, error)
- func CreateRSAKeyPair2File(outfileName string) error
- func CurrentFunctionName() string
- func Debug(msg ...string)
- func Debugln(msg ...string)
- func ErrorExit(errorCode uint8, msg ...string)
- func ExecCmd(cmd string, args ...string) error
- func ExitIfError(err error, exitcode uint8, msg string)
- func FilenameWithoutSuffix(filename string) string
- func LoadPrivateKey(filename string) (*rsa.PrivateKey, error)
- func LoadPublicKey(filename string) (*rsa.PublicKey, error)
- func LogErr(msg string)
- func LogInfo(msg string)
- func LogInit(tag string)
- func LogStringInit(tag string)
- func LogWarn(msg string)
- func Pem2RsaPrivateKey(der []byte) (*rsa.PrivateKey, error)
- func Pem2RsaPublicKey(der []byte) (*rsa.PublicKey, error)
- func Sha256bytes2bytes(bytes []byte) []byte
- func Sign115ByteArray(key *rsa.PrivateKey, digest []byte) ([]byte, error)
- func Sign115ByteArray2Base64(key *rsa.PrivateKey, digest []byte) (string, error)
- func SignPSSByteArray(key *rsa.PrivateKey, digest []byte) ([]byte, error)
- func SignPSSByteArray2Base64(key *rsa.PrivateKey, digest []byte) (string, error)
- func Verify115Base64String(key *rsa.PublicKey, b64 string, msg string) error
- func Verify115ByteArray(key *rsa.PublicKey, digest []byte, msg []byte) error
- func VerifyPSSBase64String(key *rsa.PublicKey, b64 string, msg string) error
- func VerifyPSSByteArray(key *rsa.PublicKey, digest []byte, msg []byte) error
- func WriteRsaPrivateKey(file *os.File, privKey *rsa.PrivateKey) error
- func WriteRsaPublicKey(file *os.File, pubKey *rsa.PublicKey) error
Constants ¶
This section is empty.
Variables ¶
var OutputWriter io.Writer = os.Stderr
OutputWriter defines the default output channel. It can be changed if required.
Functions ¶
func ByteArray2File ¶ added in v2.8.0
ByteArray2File writes a byte array into a file. If required it does so in multiple steps. If all succeeds then nil is returned, otherwise an error.
func ByteArray2ReponseWriter ¶ added in v2.8.0
func ByteArray2ReponseWriter(file http.ResponseWriter, bytes []byte) error
ByteArray2ReponseWriter writes a byte array into a file. If required it does so in multiple steps. If all succeeds then nil is returned, otherwise an error.
func CaptureOutput ¶
CaptureOutput get a function as its argument. It executes the function and returns the output (stderr and stdout) created by this function. While capturing this output, this output is not written to default stdout or stderr.
func CondDebug ¶
func CondDebug(msg ...string)
CondDebug outputs if debug is set without an added newline at the EOL.
func CondDebugStatus ¶
func CondDebugStatus() bool
CondDebugStatus allows to check if debug is turned on/off.
func CondDebugln ¶
func CondDebugln(msg ...string)
CondDebugln is the implementation of a global debug function. If it was turned on using CondDebugSet(true), then the string is shown to stderr. Else, no output is created.
func CreateRSAKeyPair ¶
func CreateRSAKeyPair() (*rsa.PrivateKey, *rsa.PublicKey, error)
CreateRSAKeyPair creates an RSA 4096-bit key-pair. This function makes only partly sense, as the private key always contains the public key.
func CreateRSAKeyPair2File ¶ added in v2.1.0
CreateRSAKeyPair2File checks if the 2 required files do not exist and can be created sucessfully. Then, it transfers control to createKeyPairError2.
func CurrentFunctionName ¶
func CurrentFunctionName() string
CurrentFunctionName returns the name of the current function being executed.
func Debugln ¶
func Debugln(msg ...string)
Debugln outputs a message with adding a newline at the EOL
func ErrorExit ¶
ErrorExit exits the application with the specified error code. The output is written to the assigned output writer, by default stderr.
func ExecCmd ¶
ExecCmd is a helper to execute an external application. If the exit status of this command is non-zero, then an error is returned, else nil.
func ExitIfError ¶
ExitIfError exists using ErrorExit if the supplied err is not nil. In such a case, the error message of err will be added to the message.
func FilenameWithoutSuffix ¶ added in v2.5.0
func LoadPrivateKey ¶
func LoadPrivateKey(filename string) (*rsa.PrivateKey, error)
LoadPrivateKey load a PEM-encoded RSA private key from a file
func LoadPublicKey ¶ added in v2.2.0
LoadPublicKey load a PEM-encoded RSA public key from a file
func LogErr ¶
func LogErr(msg string)
LogErr creates a message preprended with ERROR to syslog and stderr, but tries to continue execution.
func LogStringInit ¶
func LogStringInit(tag string)
LogStringInit does not use syslog (for dockerised environments. Instead, it writes all messages to stderr) This is suited for dockerised environments.
func LogWarn ¶
func LogWarn(msg string)
LogWarn creates a syslog and STDERR message labeled with WARNING.
func Pem2RsaPrivateKey ¶ added in v2.6.0
func Pem2RsaPrivateKey(der []byte) (*rsa.PrivateKey, error)
Pem2RsaPrivateKey load a PEM-encoded RSA private key from a buffer. The function does not try to read multiple keys from the byte array. Only the first PEM block is processed.
func Pem2RsaPublicKey ¶ added in v2.6.0
Pem2RsaPublicKey load a PEM-encoded RSA public key from a buffer. The function does not try to read multiple keys from the byte array. Only the first PEM block is processed.
func Sha256bytes2bytes ¶
Sha256bytes2bytes converts a byte sequence into a SHA-256-based digest of it. The output for this application is the same on the commadn line with: curl -q localhost:8888 | jq -c .Data | tr -d '\n' | shasum -a256 The added newline must be removed. Alternatively, gnu-sed can be used instad of tr: gsed -Ez 's/\n$//' The complete JSON return structure only consists of US-ASCII characters. So potential different escaping for special characters do not have to be considered.
func Sign115ByteArray ¶ added in v2.3.0
func Sign115ByteArray(key *rsa.PrivateKey, digest []byte) ([]byte, error)
Sign115ByteArray returns a signature for the given digest or returns an error
func Sign115ByteArray2Base64 ¶ added in v2.3.0
func Sign115ByteArray2Base64(key *rsa.PrivateKey, digest []byte) (string, error)
Sign115ByteArray2Base64 signs a byte array by calling SignByteArray but returns the signature as a base64-encoded string.
func SignPSSByteArray ¶ added in v2.3.0
func SignPSSByteArray(key *rsa.PrivateKey, digest []byte) ([]byte, error)
SignPSSByteArray returns a signature for the given digest or returns an error
func SignPSSByteArray2Base64 ¶ added in v2.3.0
func SignPSSByteArray2Base64(key *rsa.PrivateKey, digest []byte) (string, error)
SignPSSByteArray2Base64 returns the signature as a base64-encoded string.
func Verify115Base64String ¶ added in v2.3.0
Verify115Base64String accepts a base64 encoded string as the signature. It decodes the signature and calls VerifyByteArray.
func Verify115ByteArray ¶ added in v2.3.0
Verify115ByteArray verifies a digital signature (digest). If no error is returned, then the verification was successful. Furthermore, it recalculates the digest of the message. It should result in the same digest as the digitally signed one.
func VerifyPSSBase64String ¶ added in v2.3.0
VerifyPSSBase64String accepts a base64 encoded string as the signature. It decodes the signature and calls VerifyByteArray.
func VerifyPSSByteArray ¶ added in v2.3.0
VerifyPSSByteArray verifies a digital signature (digest). If no error is returned, then the verification was successful. Furthermore, it recalculates the digest of the message. It should result in the same digest as the digitally signed one.
func WriteRsaPrivateKey ¶ added in v2.6.0
func WriteRsaPrivateKey(file *os.File, privKey *rsa.PrivateKey) error
WriteRsaPrivateKey converts the key to PEM format and writes them to a file.
Types ¶
This section is empty.