APNSのための証明書作成が毎回手間で、しかもミスが起こりやすかったので、関数にした。
といっても作業をまとめたぐらい。
function createApnsPem() {
if [ $# != 2 ]; then
echo "ArgumentError: wrong number of arguments ($# for 2)"
echo ' arg1={certificate file name}, arg2={key file name}'
else
openssl pkcs12 -clcerts -nokeys -out apns-cert.pem -in $1
openssl pkcs12 -nocerts -out apns-key.pem -in $2
openssl rsa -in apns-key.pem -out apns-key-noenc.pem
cat apns-cert.pem apns-key-noenc.pem > apns.pem
rm apns-cert.pem apns-key-noenc.pem apns-key.pem
fi
}
第一引数に証明書のファイル名、第二引数に秘密鍵のファイル名を渡せば、最終的なpemファイルが生成される。(途中でパスワードを入力するのみ)
$ createApnsPem cert.p12 key.p12