Here are some notes on how to create the certificates and stuff to publish an app using windows and phonegap build only.
1. Install OpenSSL: http://slproweb.com/products/Win32OpenSSL.html
Make sure you have a OpenSSL config file set. If not, download this example config file. Save it somewhere, set environment variable to point to the file:
set OPENSSL_CONF=C:Program FilesOpenSSL-Win64openssl.cnf
2. Create a private key:
openssl genrsa -des3 -out ios.key 2048
3. Create a Certificate Signing Request:
openssl req -new -key ios.key -out ios.csr -subj "/emailAddress=email.address@xxx, CN=Firstname Lastname, C=COUNTRYCODE"
The csr-file is created: ios.csr.
4. Create a developer certificate using the created csr-file at: https://developer.apple.com/account/ios/certificate/certificateList.action
5. Download the newly created certificate (ios_development.cer)
6. Convert the developer certificate to a PEM certificate:
openssl x509 -in ios_development.cer -inform DER -out developer_identity.pem -outform PEM
7. Generate the p12 certificate file:
openssl pkcs12 -export -inkey ios.key -in developer_identity.pem -out iphone_dev.p12
8. Create provisioning profile for the app using the developer certificate at: https://developer.apple.com/account/ios/profile/profileList.action
9. In phonegap build, go to edit account, signing keys, add a key, upload the .p12 and the .mobileprovision files.
Note that you need either the mac applications XCode or Applicaton Loader to upload the app to itunes.