mirror of
https://github.com/rwinkhart/cmutton.git
synced 2026-09-05 16:47:28 -04:00
Merge some privkey.go functions
This commit is contained in:
+8
-18
@@ -24,28 +24,18 @@ func SetPrivKeyDataAndEraseFreeInput(privKeyData C.PascalString) {
|
|||||||
FreePascalString(privKeyData)
|
FreePascalString(privKeyData)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetPrivKeyDataAndEraseGoCopy will return nil on non-iOS platforms.
|
// EraseFreePrivKey is meant to be called on iOS after
|
||||||
// On iOS, it will return whatever was set in
|
// any server connections to ensure the cached SSH private key
|
||||||
// SetPrivKeyDataAndSecurelyFreeInput.
|
// set by SetPrivKeyDataAndEraseFreeInput is securely erased.
|
||||||
|
// It also erases and frees the input privKeyPascal.
|
||||||
//
|
//
|
||||||
// Don't forget to call EraseFreePrivKeyPascal on the output
|
//export EraseFreePrivKey
|
||||||
// of this function as soon as it is no longer needed.
|
func EraseFreePrivKey(privKeyPascal C.PascalString) {
|
||||||
//
|
// erase Go/libmutton copy
|
||||||
//export GetPrivKeyDataAndEraseGoCopy
|
|
||||||
func GetPrivKeyDataAndEraseGoCopy() C.PascalString {
|
|
||||||
privKeyBytes, _ := privkey.GetBytes(nil)
|
privKeyBytes, _ := privkey.GetBytes(nil)
|
||||||
privKeyPascal := getPascalStringFromBytes(privKeyBytes)
|
|
||||||
back.EraseBytesSecurely(privKeyBytes)
|
back.EraseBytesSecurely(privKeyBytes)
|
||||||
return privKeyPascal
|
|
||||||
}
|
|
||||||
|
|
||||||
// EraseFreePrivKeyPascal is meant to be called on
|
// erase C copy
|
||||||
// iOS after any server connections to ensure the cached SSH private key
|
|
||||||
// set by SetPrivKeyData is securely erased. It also erases and frees
|
|
||||||
// the input privKeyData C.PascalString.
|
|
||||||
//
|
|
||||||
//export EraseFreePrivKeyPascal
|
|
||||||
func EraseFreePrivKeyPascal(privKeyPascal C.PascalString) {
|
|
||||||
securePtrOverwriteAndFree(unsafe.Pointer(privKeyPascal.data), C.size_t(privKeyPascal.len))
|
securePtrOverwriteAndFree(unsafe.Pointer(privKeyPascal.data), C.size_t(privKeyPascal.len))
|
||||||
FreePascalString(privKeyPascal)
|
FreePascalString(privKeyPascal)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user