Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

A Python API for Mac OS X Keychain, port of https://github.com/jprichardson/keychain_manager

Project Description

https://badge.fury.io/py/keychain_manager.png https://pypip.in/d/keychain_manager/badge.png

A Python api for Mac OS X Keychain. It is a port of https://github.com/jprichardson/keychain_manager

  • Free software: BSD license

Getting started

To install the package do:

pip install keychain-manager

Usage

Example of generating Apple Push Certificate

from keychain_manager import KeychainManager
import os.path

USER = 'youremail@example.com'
# let's choose a keychain name, so we won't pollute the 'login' keychain
KEYCHAIN = 'apple_push_keychain'
# this is where the file aps_production_identity.cer will be downloaded
YOUR_DOWNLOADS_DIR = os.path.expanduser('~/Downloads/')

RSA_FILE = '/tmp/myrsa.key'
KeychainManager.generate_rsa_key(RSA_FILE)

CERT_FILE = '/tmp/CertificateSigningRequest.certSigningRequest'
# 'US' is the country abbreviation.
KeychainManager.generate_cert_request(USER, 'US', RSA_FILE, CERT_FILE)

kcm = KeychainManager(KEYCHAIN)
if kcm.exists():
    kcm.delete()
kcm.create()

kcm.import_rsa_key(RSA_FILE)

# now from your browser, you'll have downloaded a file from Apple
# typically named: aps_production.cer
kcm.import_apple_cert(os.path.join(YOUR_DOWNLOADS_DIR, 'aps_production.cer'))

P12_FILE = '/tmp/push_prod.p12'
kcm.export_identities(P12_FILE)

PEM_FILE = '/tmp/push_prod.pem'
KeychainManager.convert_p12_to_pem(P12_FILE, PEM_FILE)

kcm.delete()

Tests

Tests are running on the Mac OS X only, since we need to have actualy Keychain Manager. Just clone the repo on your Mac computer and run:

python setup.py test

History

0.1.0 (2013-09-11)

  • First release on PyPI.

Release history Release notifications

This version
History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
keychain_manager-0.1.3.tar.gz (6.5 kB) Copy SHA256 hash SHA256 Source None Oct 28, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page