symgryph has asked for the wisdom of the Perl Monks concerning the following question:
I have a .pem file which has multiple keys inside of it. I want to be able to extract ONLY the public key from the .pem file. Attached is my test pem file. Key contents have been changed to protect the innocent
Bag Attributes localKeyID: 00 00 00 00 00 00 00 00 00 00 00 00 00 friendlyName: verisign class 3 public primary certification author +ity subject=/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification + Authority issuer=/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification +Authority -----BEGIN CERTIFICATE----- MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz iazzsdASSDFGSDFSDFGSDFJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDaaaTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMacwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXa0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDJXFme8huKARS0EN8aQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE BarsAx94f56TuZoAqiN91qyFomNFa3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is I19wKTakyYbnsZogy1Olhec9vn2a/aRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBALtMEivPLCaATxQT3ab7/AoRhIzzKBxnki98tsX63/Do lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GaaiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoydfaamKf5p/Afbaaslslslsl331/ZA1k -----END CERTIFICATE----- Bag Attributes localKeyID: 00 00 00 00 00 00 00 00 00 00 00 00 00 friendlyName: my.site.here.com Key Attributes: <No Attributes> -----BEGIN RSA PRIVATE KEY----- ABCDefghijklmnCWPsdfLsdpfDsssfmsdHfHsdAfsudfHsdeSoOsxsesdHfysdfI sdofsdfksdf5sdfRsdfKsdfosdfYsdsfsdBfsdQfsdfIsdfQsdTfqsdf/sdf1sdf g/sdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdf/sdfsdfsdfsdfsdfsdsdf/adsfasd sdfsdfsdfsdfaaF/aaasdfsdfsdfasdfsdfsdfsdfsdfsdfsdfsdfsdfsdsdfsds /4RgTsdfsdfVsdfsdfm8sdf9sdflsdfxsdfAFsUsgsqsVsWsdsusdfsdfI79cmvH sdfsdfsdfsdfsdfsdfsdfss/sdfsdfsdfsdfsdfsfdAfsdfaaaaWsdfsdfsdaaaq d+HCFKt7hJ/89tcHasdfsdfsdf4sdf/sdsdfaaaawfsfsBDkDp5Gjbrs/sdfsdqA sdfsdfsasdfsdfsdfsdfsdfsdfsdfaaahIrHaq9+F0/awefsdfgsdfasdfasdfa0 KFSsdfsdf6zL6bCmo3cSlBibtFVoosdfewJASpN8B/tFJgsdfsdfVsdfsdfSh/sd lGaVvdfO4qnIAG9Ev/MF/8bCdfsdfsdfso1MWsdfsdfsdfsaSEkUOov8pwJAFU7w tBaasdfsdfsdf5nR7hqN2YIjw15xsdf4hfibx6MdtaVqKLbonlSRaeXMsdfsdfT1 MVay9LIasdfasdffOwJBAKy7PsdfsdfzFFLWzhhE9p819t1xhW/xaa0/Msdfsdfs Zssdfsdaaky5itBYa4/TsdfsdfNZKjsdfsdfO+ssaeA= -----END RSA PRIVATE KEY----- Bag Attributes localKeyID: 00 00 00 00 00 00 00 00 00 00 00 00 00 friendlyName: my.site.here.com subject=/C=US/ST=Here/L=NC/O=My Org/OU=Security/CN=my.site.here.com issuer=/O=VeriSign Trust Network/OU=VeriSign, Inc./OU=VeriSign Interna +tional Server CA - Class 3/OU=www.verisign.com/CPS Incorp.by Ref. LIA +BILITY LTD.(c)97 VeriSign -----BEGIN CERTIFICATE----- AAAAijCCA/OdfsdasdfsdfsdfsaavZsdfEeEEdV9/sdfsdfsdfsdfaaasdfwerfd ujEfMB0dfgsdfgsdfgsdfgNpZ24gVHJ1c3QgTmV0d2sdfgsdfgUGA1UECxMOhh5y aVNpZsdfgsdfgy4xMzAxBgNVBAsTKlZlcsfggdfuIEludGVybmFsdfgsdfggU2Vy dmVyIENBIC0gQsdfgsdfgzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg SW5jb3JwLmJ5IFJlZi4gfgsdfgsdfgsdfgxURC4oYyk5NyBsdfgsdfgnbjAeFw0x MDA3MjkwMDAsdfgsdfgsdfA3MjkyMzU5NTlaMIGaMQswCQYDVQQGEwsdfgsdfg4G A1UEsdfgsdfgaGlhbjESMBsdfgsdfgQJRWRpbmJ1cmsdfgsdfgYDVQQKFCRUaGUg Um95YWwgQmFuayBvsdfgsdfgsdfgZCBHcm91cCBQbGMxFDASBgsdfgsdfglUIFNl Y3VyaXR5sdfgsdfgVsdfgsdfgnsdfgsdfgsdfgsdfgssdfgsdfgvbTCBnzANBgkq hkiG9w0BAQEFAAOBjQAwgYkCgYEAlj/N+i5KafA5LDsZlsB7RxKAOz7rpx2UHkqD usdXugRxcioSiG0KPJp45NAT+TPkkbw2Sdfq6G86WKGbERzAZUtUNNjxSdwssdfF y6sdC/5sdfsdfsaadsf4V6YK03gsx/7rjsdfasdfasdfasdfv8srsO+jadfYzE/s ddilRP0CAwEAAaasdfasdfGpMAkGA1UdEwQCMAAwasdfasdfasdfAgWgMasdfasd HwQ1MDMwMaAvsdfoC2GK2h0dLy9TVlJJbnRsLWNybC52ZXJpc2lnbi5jb20vU1ZS SW50bC5jcmwwRAYasdfasdfDOzA5BgtghkgBhvhFAQcXAzAqMCgGCCsGAQUFBwIB FhxodHRwczovL3d3dy52ZXJasdfasdfpc2lnbi5jb20vcnBhxxQhMB8GCWCGSAGG +EIEAQYIKwYBBQUHAwEGCCsGAQUFBwMasdfCMsdfsdfsdfaaawUwYzAkBggrBgEF BQcwAYYYaHR0cDoasdfasdfyaXNpZ24asdfuY29tMDsGCCsGAQUFBzAChi9odHRw Oi8vU1asdasdfasdfkj;s8sdkdkdkdkdduY29tNWUkludGwtYWlhLmNlcjBuBggr BgEFBQcBDARiMGChXqBcMFasdfasdflpbWFnZS9naWYwITAfMAcGBSsOAwIaBBRL a7kolgYMu9BasdfasdfHiyEFGDAmFiasdfasdf8vbG9nby52ZXJpc2lnbi5jb20v dnNsb2dvMS5naWYwDQYasdfasdfNAQEFBQADgYEAXMaMasdfasdff1r64zrglX6d XQPu3asdfasdfLEgMN+asdfbasdfrjpasdfasdfq7CCcm2PU50u/Xasdfasdfxfw hDYTIbKIPQP+hjsK47dtc+7X4aKYasdfkuMrFmhwokjIDgasdfasdfwhv2TrvRej fHuaARasdfasdfoTiCc= -----END CERTIFICATE----- Bag Attributes localKeyID: 00 00 00 00 00 00 00 00 00 00 00 00 00 friendlyName: verisign intermediate ca subject=/O=VeriSign Trust Network/OU=VeriSign, Inc./OU=VeriSign Intern +ational Server CA - Class 3/OU=www.verisign.com/CPS Incorp.by Ref. LI +ABILITY LTD.(c)97 VeriSign issuer=/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification +Authority -----BEGIN CERTIFICATE----- MIIDgsdfsdfgAwIBAgIQJUusdfsdfsdfsdfdriJupDANBgkqhkiG9w0BAQUFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChsdfsdfaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNOTcwNDEsdfsdfDAwWhcNMTExMDI0MjM1OTU5WjCBujEfMB0GA1UEChMWVmVy aVNpZ24gVHJ1c3QgTsdfd29yazEXMBUGA1UECxMOVmVyaVNpZ24sIEluYy4xMzAx BgNVBAsTKlZlcmlTaWdusdfsdGVybmF0aW9uYWwgUsdfsdfsdENBIC0gQ2xhc3Mg MzFJMEcGA1UECxNAd3d3LnZldfsdaWduLmNvbSsdfFMgSW5jbfsdfsJ5IFJlZi4g TElBQklMSVRZIExURC4oYyk5NyBWfsdfsdfsdfCBnzANBgkqhkiG9wdfAQEFAAOB jQAwgYkCgsdfsdfsdfYZAn0fhRg5JaJlK+G/sdfsdfsdfsdfsdfbtueqPHNFVbLx veqXQu2asdfsdfsdfUAl3dkHwTKydWzEyruj/lYncUOqY/UwPpMsdfsdfsdft01O OfdcSVq4wR3Tsor+csdfsdfsdfsdfjw6+SJPkLICp1OcTzTnqwSye28CAwEAAaOB 4zCB4DAPBgNVHRMECDAGAQH/AgEAMsdfsdfsdfsdfDswOQYLYIZIAYb4RQEHAQEw KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyasdfsdfuY29tL0NQUzA0BgNV HSUELTArBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIsdfsdfsdfAYb4RQEI ATALBgNVHQ8EsdfsdfsdfQYJYIZIAYb4QgEBBAQDAgEGMDEGA1UdHwQqsdfsdfAk oCKGIGh0dHA6Ly9jcmwudsdfsdfpZ24uY29tL3BjYTMuY3JsMA0GCSqGSIb3DQEB BQUAA4GBAAgB7ORolANC8XPxI6Isdfsdfsdfsdf+hurPajozq+qsdfsdfsdf+sdf 1Rsdfsdfsdfsdf3RrCAJLeH24RkFOLA9D59/+J4C3sdfsdfsdfsdf5IeDCSk9dBw E88mwsdfsdfsdf5SX7w+xmsdfsdfkiy8RnUDgqsdfsdfC2fsdfIa -----END CERTIFICATE-----
I want to slurp up the everything with the first 'BEGIN CERTIFICATE' statement after the "---END RSA PRIVATE KEY" and 'END CERTIFICATE' statements. so in the example below, I would like to extract everything (including) the "BEGIN-CERTIFICATE" and "END-CERTIFICATE" after the end of the rsa private key. How would I do this? I thought I could use multi-line mode, but am unsure as to how to put this in a variable.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to slurp up multi lines between two markers
by Marshall (Canon) on Oct 28, 2010 at 21:56 UTC | |
|
Re: How to slurp up multi lines between two markers
by TomDLux (Vicar) on Oct 29, 2010 at 04:47 UTC | |
|
Re: How to slurp up multi lines between two markers
by choroba (Cardinal) on Oct 28, 2010 at 22:06 UTC | |
|
Re: How to slurp up multi lines between two markers
by umasuresh (Hermit) on Oct 28, 2010 at 21:30 UTC |