Crear pares de claves asimétricas
Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
En esta guía se muestra cómo crear pares de claves asimétricas para Media CDN.
Generar claves
Línea de comandos
Puedes generar una clave privada y una pública con Python 3 y OpenSSL 1.1.1 o una versión posterior (las versiones anteriores de OpenSSL no admiten Ed25519).
Este comando genera la clave pública a partir de la clave privada y elimina la información del encabezado ASN.1
de la clave pública sin formato.
Python
importbase64fromcryptography.hazmat.primitivesimportserializationfromcryptography.hazmat.primitives.asymmetricimported25519defgenerate_ed25519_keypair(private_key_filename:str="private.key",public_key_filename:str="public.pub")-> None:"""Generate Ed25519 Keys Pairs. Args: private_key_filename(default private.key): private key filename as a string. public_key_filename(default public.pub): public key filename as a string Returns: """private_key=ed25519.Ed25519PrivateKey.generate()public_key=private_key.public_key()private_key_str=private_key.private_bytes(encoding=serialization.Encoding.Raw,format=serialization.PrivateFormat.Raw,encryption_algorithm=serialization.NoEncryption(),)print("Private Key:\t",base64.urlsafe_b64encode(private_key_str))public_key_str=public_key.public_bytes(encoding=serialization.Encoding.Raw,format=serialization.PublicFormat.Raw)print("Public Key:\t",base64.urlsafe_b64encode(public_key_str))withopen(private_key_filename,"wb")asfp:fp.write(base64.urlsafe_b64encode(private_key_str))print(f"Private Key is written to:\t{private_key_filename}")withopen(public_key_filename,"wb")asfp:fp.write(base64.urlsafe_b64encode(public_key_str))print(f"Public Key is written to:\t{public_key_filename}")
Con la clave en este formato, ahora puedes añadirla a un conjunto de claves.
Cuando el conjunto de claves se asocia a una ruta como cdnPolicy.signedRequestKeyset, Media CDN valida que las solicitudes se hayan firmado antes de servir cualquier contenido.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2026-01-15 (UTC)."],[],[]]