Code Monkey home page Code Monkey logo

pem's Introduction

deliversnapshotframeitPEMsighproducecertcodes

-------

PEM - Maintain your push certificates

Twitter: @KauseFx License Gem

Tired of manually creating and maintaining your push notification profiles for your iOS apps? Tired of generating a pem file for your server?

PEM does all that for, just by running pem.

To automate iOS Provisioning profiles you can use sigh.

Felix Krause (@KrauseFx) the developer of PEM
Sebastian Mayr (@sebmasterkde) who implemented the download mechanism of signing certificates
Alexander Schuch (@schuchalexander) who automated the generation of the signing request


FeaturesInstallationUsageHow does it work?TipsNeed help?


PEM is part of fastlane: connect all deployment tools into one streamlined workflow.

Features

Well, it's actually just one: Generate the pem file for your server.

Check out this gif:

assets/PEMRecording.gif

Installation

sudo gem install pem

Make sure, you have the latest version of the Xcode command line tools installed:

xcode-select --install

Usage

pem

Yes, that's the whole command!

This does the following:

  • Create a new signing request
  • Create a new push certification
  • Downloads the certificate
  • Generates a new .pem file in the current working directory, which you can upload to your server

PEM will never revoke your existing certificates.

If you already have a push certificate enabled, which is active for at least 30 more days, PEM will not create a new certificate. If you still want to create one, use the force:

pem --force

You can pass parameters like this:

pem -a com.krausefx.app -u username

If you want to generate a development certificate instead:

pem --development

Set a password for your p12 file:

pem -p "MyPass"

You can specify a name for the output file:

pem -o my.pem

To get a list of available options run:

pem --help

Environment Variables

In case you prefer environment variables:

  • PEM_USERNAME
  • PEM_APP_IDENTIFIER
  • PEM_TEAM_ID
  • PEM_SAVE_PRIVATEKEY - Set to "1" to save the private RSA key

How does it work?

There are 2 actions involved:

  • Accessing the iOS Dev Center to download the latest aps_production.cer. See: developer_center.rb.
  • Generating all the necessary profiles and files to prepare the finished .pem file. See: cert_manager.rb.
  • The .certSigningRequest file will be generated in signing_request.rb

How is my password stored?

PEM uses the password manager from fastlane. Take a look the CredentialsManager README for more information.

Tips

fastlane Toolchain

  • fastlane: Connect all deployment tools into one streamlined workflow
  • deliver: Upload screenshots, metadata and your app to the App Store using a single command
  • snapshot: Automate taking localized screenshots of your iOS app on every device
  • frameit: Quickly put your screenshots into the right device frames
  • sigh: Because you would rather spend your time building stuff than fighting provisioning
  • produce: Create new iOS apps on iTunes Connect and Dev Portal using the command line
  • cert: Automatically create and maintain iOS code signing certificates
  • codes: Create promo codes for iOS Apps using the command line

Use the 'Provisioning Quicklook plugin'

Download and install the Provisioning Plugin.

It will show you the pem files like this: assets/QuickLookScreenshot.png

Need help?

  • If there is a technical problem with PEM, submit an issue.
  • I'm available for contract work - drop me an email: [email protected]

License

This project is licensed under the terms of the MIT license. See the LICENSE file.

Contributing

  1. Create an issue to discuss about your idea
  2. Fork it (https://github.com/KrauseFx/pem/fork)
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

pem's People

Contributors

krausefx avatar mathcarignani avatar aafa avatar snatchev avatar esnick avatar carlosefonseca avatar craigsiemens avatar milch avatar pmairoldi avatar shrinkrayio avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.