export credentialSSHSignCallback
( errorMessage **C.char, sig **C.uchar, sig_len *C.size_t, data *C.uchar, data_len C.size_t, handle unsafe.Pointer, )
| 245 | |
| 246 | //export credentialSSHSignCallback |
| 247 | func credentialSSHSignCallback( |
| 248 | errorMessage **C.char, |
| 249 | sig **C.uchar, |
| 250 | sig_len *C.size_t, |
| 251 | data *C.uchar, |
| 252 | data_len C.size_t, |
| 253 | handle unsafe.Pointer, |
| 254 | ) C.int { |
| 255 | signer := pointerHandles.Get(handle).(*credentialSSHCustomData).signer |
| 256 | signature, err := signer.Sign(rand.Reader, C.GoBytes(unsafe.Pointer(data), C.int(data_len))) |
| 257 | if err != nil { |
| 258 | return setCallbackError(errorMessage, err) |
| 259 | } |
| 260 | *sig = (*C.uchar)(C.CBytes(signature.Blob)) |
| 261 | *sig_len = C.size_t(len(signature.Blob)) |
| 262 | return C.int(ErrorCodeOK) |
| 263 | } |
| 264 | |
| 265 | // NewCredentialSSHKeyFromSigner creates new SSH credentials using the provided signer. |
| 266 | func NewCredentialSSHKeyFromSigner(username string, signer ssh.Signer) (*Credential, error) { |
no test coverage detected
searching dependent graphs…