Comment créer un fichier .pem avec la clé aes

Je dois créer une clé aes-256 et la stocker dans un fichier .pem. J’utilise RAND_bytes() pour créer simplement une clé aléatoire de 256 bits. Après cela, comment puis-je enregistrer cela dans un fichier PEM. J’ai examiné Lecture et écriture de clés RSA dans un fichier PEM en C et OpenSL PEM . Mais je ne travaille pas avec des clés RSA.

Je soupçonne que ma tâche est beaucoup plus simple, comme créer un fichier PEM à partir de base64, mais pas beaucoup d’aide.

PS: Cette clé sera utilisée pour chiffrer un certificate numérique auto-signé.

EDIT: en regardant de plus près, j’ai découvert que je pouvais utiliser la bio pour convertir pem, quelque chose comme PEM_write_bio_PrivateKey mais il faut le format EVP_PKEY comme argument. Alors, comment puis-je convertir char buf à EVP_PKEY. J’ai trouvé d2i_PublicKey mais cela implique RSA et je ne sais pas comment RSA s’intégrerait dans l’image ici.

La clé AES est juste un tableau d’octets aléatoires. Vous pouvez simplement stocker les octets dans un fichier sans aucune structure.

Vous pouvez convertir une clé aes en .pem en utilisant la classe PEMWriter de la bibliothèque BouncyCastle.

http://www.bouncycastle.org/documentation.html