# Export a RSA key This sample app demonstrates how to generate a RSA key and export it given standard format. 1. Get a SecurityFactory instance auto &secFact = telux::sec::SecurityFactory::getInstance(); Copy to clipboard 2. Get a CryptoManager instance std::shared_ptr cryptMgr; cryptMgr = secFact.getCryptoManager(ec); if (!cryptMgr) { std::cout << "Can't allocate CryptoManager, err: " << static_cast(ec) << std::endl; return -1; } Copy to clipboard 3. Define parameters using CryptoParamBuilder for the key std::shared_ptr cp; cp = telux::sec::CryptoParamBuilder() .setAlgorithm(telux::sec::Algorithm::ALGORITHM_RSA) .setCryptoOperation(telux::sec::CryptoOperation::CRYPTO_OP_SIGN | telux::sec::CryptoOperation::CRYPTO_OP_VERIFY) .setKeySize(2048) .setPublicExponent(65537) .setDigest(telux::sec::Digest::DIGEST_SHA_2_256 | telux::sec::Digest::DIGEST_SHA_2_512) .setPadding(telux::sec::Padding::PADDING_RSA_PSS | telux::sec::Padding::PADDING_RSA_PKCS1_1_5_SIGN) .build(); Copy to clipboard 4. Generate RSA key using generateKey() API telux::common::ErrorCode ec; std::vector kb; ec = cryptMgr->generateKey(cp, kb); if (ec != telux::common::ErrorCode::SUCCESS) { std::cout << "Can't generate RSA asym key, err: " << static_cast(ec) << std::endl; return -1; } Copy to clipboard 5. Export key in given format in an array using exportKey() API std::vector keyData; ec = cryptMgr->exportKey(telux::sec::KeyFormat::KEY_FORMAT_X509, kb, keyData); if (ec != telux::common::ErrorCode::SUCCESS) { std::cout << "Can't export key, err: " << static_cast(ec) << std::endl; return -1; } Copy to clipboard Last Published: Aug 05, 2026 [Previous Topic Encrypt and decrypt using AES key](https://docs.qualcomm.com/bundle/publicresource/80-PF458-9/topics/AESsymEncDecApp.md) [Next Topic Import a RSA key](https://docs.qualcomm.com/bundle/publicresource/80-PF458-9/topics/RSAImportKeyApp.md)