Estoy trabajando en un proyecto que implica la lectura de datos de clave pública utilizados para firmar APK de Android. Puedo extraer las firmas con éxito como claves públicas. Cuando miro dentro de los archivos pubkey binarios producidos por esto, veo algunos textos sin formato, como un nombre y una ciudad.Extraer datos de la clave pública de RSA
¿Cómo puedo extraer de forma segura esta información de nombre/ciudad incrustada dentro de la clave pública mediante PHP (o incluso Java o C#)? Y con suerte lo hago de tal manera que sé exactamente cuáles son estos campos (es decir, no agarrar ciegamente el texto, pero saber qué cadena es una ciudad y cuál es un nombre)
Para aclaración: No tengo la clave privada o un archivo de certificado. Actualmente no estoy interesado en firmar o encriptar nada, solo me gustaría extraer el texto sin formato dentro de la clave pública sin utilizar enfoques kludgy como regex.
Actualización: He aquí una muestra de clave pública (codificado en base 64) de uno de mis APK
MIICBzCCAXCgAwIBAgIES6KlazANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQGEwJVUzELMAkGA1UECBMCUkkxFTATBgNVBAcTDE5hcnJhZ2Fuc2V0dDEVMBMGA1UEAxMMQ29saW4gTydEZWxsMB4XDTEwMDMxODIyMTI1OVoXDTQ1MDMwOTIyMTI1OVowSDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlJJMRUwEwYDVQQHEwxOYXJyYWdhbnNldHQxFTATBgNVBAMTDENvbGluIE8nRGVsbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAmPetcBW+ITURXY0LsI2ZfgM3R7K2kwicgpd0W+BYAXQBh76SXyN9MYvtfnUY3SNz37FW/lDQgAO3pbhEFqGwfADh2ctXlYmlE9DtcRQw0ojGVPIDlWBX+9IUxyL/89CPaN84R/1lvdosco4V0BqQYR300S9ZwmwFA2Vh9hSUZmsCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBezKu4G11Z68NTPIBro8xsnbkdYxObzW7BsSr6t9MS5x6EQVs75R/nnKrsMcQ+9ImdT940jhQgZT3ZrYla5VhdbelxnLhBVbJfBdipV3Hv2bG7MnXzFqHYwQqYp+UrP8zWm1YHQf5I/P9VBjlkgwFyNKr0TxP4t/qS08oGX2wvZg==
Regex se kludgy? :( – FlyingStreudel
¿Puede publicar un ejemplo de los "archivos pubkey binarios producidos por este"? Utilice la codificación Base-64 para convertirlo en texto post-able. – erickson
@FlyingStreudel - Regex ciertamente puede ser útil en muchos escenarios, pero no lo hago Creo que es apropiado para esta tarea: P –