void SaveKey(const RSA::PublicKey& PublicKey, const string& filename) { // DER Encode Key - X.509 key format PublicKey.Save( FileSink(filename.c_str(), true /*binary*/).Ref() ); }
void CAuthenticationProfileImpl::sendPublicKey(RSA::PublicKey publicKey) { LOG4CPLUS_TRACE_METHOD(msLogger, __PRETTY_FUNCTION__ ); ByteQueue queue; publicKey.Save(queue); UInt32 queueSize = queue.CurrentSize(); UInt8* outgoingData = new UInt8[queueSize + 1]; outgoingData[0] = static_cast<UInt8>(SEND_PUBLIC_KEY); queue.Get(outgoingData + 1, queueSize); LOG4CPLUS_INFO(msLogger, "***** " + convertIntegerToString(queueSize + 1) + " bytes sent"); iviLink::Channel::sendBuffer(mChannelID, outgoingData, queueSize + 1); delete[] outgoingData; }