Skip to content

Instantly share code, notes, and snippets.

@aduzsardi
Forked from jinnko/pem-split
Created July 26, 2019 08:22
Show Gist options
  • Save aduzsardi/966c693c85f618c7eaecc75f3760852e to your computer and use it in GitHub Desktop.
Save aduzsardi/966c693c85f618c7eaecc75f3760852e to your computer and use it in GitHub Desktop.
Take a PEM format file as input and split out certs and keys into separate files.
#!/usr/bin/awk -f
#
# Take a PEM format file as input and split out certs and keys into separate files
#
BEGIN { n=0; cert=0; key=0; if ( ARGC < 2 ) { print "Usage: pem-split FILENAME"; exit 1 } }
/-----BEGIN PRIVATE KEY-----/ { key=1; cert=0 }
/-----BEGIN CERTIFICATE-----/ { cert=1; key=0 }
split_after == 1 { n++; split_after=0 }
/-----END CERTIFICATE-----/ { split_after=1 }
/-----END PRIVATE KEY-----/ { split_after=1 }
key == 1 { print > FILENAME "-" n ".key" }
cert == 1 { print > FILENAME "-" n ".crt" }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment