INNER CODE UNIT · Go

func

go-piv/go-ykpiv · decrypt.go:51

func (s Slot) Decrypt(rand io.Reader, msg []byte, opts crypto.DecrypterOpts) ([]byte, error) {
	var cMessage = (*C.uchar)(C.CBytes(msg))
	defer C.free(unsafe.Pointer(cMessage))
	var cMessageLen = C.size_t(len(msg))

	var cPlaintextLen = C.size_t(len(msg))
	var cPlaintext = (*C.uchar)(C.malloc(cMessageLen))
	defer C.free(unsafe.Pointer(cPlaintext))

	algorithm, err := s.getAlgorithm()
	if err != nil {
		return nil, err
	}

	if err := getError(C.ykpiv_decipher_data(
		s.yubikey.state,
		cMessage, cMessageLen,
		cPlaintext, &cPlaintextLen,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…