I have the following function
public func encryptWithRSAKey(_ data: String, rsaKeyRef: SecKey, padding: SecPadding) -> [UInt8]? {
let blockSize = SecKeyGetBlockSize(rsaKeyRef)
var messageEncrypted = [UInt8](repeating: 0, count: blockSize)
var messageEncryptedSize = blockSize
var status: OSStatus!
status = SecKeyEncrypt(rsaKeyRef, SecPadding.OAEP, data, data.count, &messageEncrypted, &messageEncryptedSize)
if status != noErr {
print("\(logClassName): Encryption Error!")
}
return messageEncrypted
}
the output is encryptedMessage = [9,43,128...] 128 length
and I have to send the result into a C function
void STDCALL CpProxyAvOpenhomeOrgCredentials1BeginSet(THandle aHandle, const char* aId, const char* aUserName, const char* aPassword, uint32_t aPasswordLen, OhNetCallbackAsync aCallback, void* aPtr)
{
CpProxyAvOpenhomeOrgCredentials1C* proxyC = reinterpret_cast<CpProxyAvOpenhomeOrgCredentials1C*>(aHandle);
ASSERT(proxyC != NULL);
Brh buf_aId(aId);
Brh buf_aUserName(aUserName);
Brh buf_aPassword;
buf_aPassword.Set((const TByte*)aPassword, aPasswordLen);
FunctorAsync functor = MakeFunctorAsync(aPtr, (OhNetFunctorAsync)aCallback);
proxyC->BeginSet(buf_aId, buf_aUserName, buf_aPassword, functor);
}
What is the way for encoding messageEncrypted in swift to const char* aPassword in C