This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
This is `opencce`, a small application that replicates part of the functionality
provided by the [CCE (Citizen Card Encrypted)](https://joinup.ec.europa.eu/software/cce/description) software by [A-SIT](https://www.a-sit.at/)

## How `opencce` differs…
* `opencce` is written in Python and uses only widely available libraries including `openssl`.
* `opencce` is Open Source. Please feel free to look at the code.
* `opencce` **cannot** currently use your Citizen Card (_ecard_) to perform cryptographic operations.
* `opencce` **can** be used as a library or through its command-line interface.

However, as far as I can tell, `opencce` is able to decrypt containers produced by the original software. It also produces files that are fully compatible with the original. **If you encounter a case where this is not true, please file an issue!**

### Dependencies
* [python](http://python.org) (>= 2.7)
* [python-m2crypto](https://github.com/martinpaljak/M2Crypto)
* [lxml](http://lxml.de)
* [python-magic](https://github.com/ahupp/python-magic) (optional)

### About python3
The main blocker for getting python3 compatibility is `m2crypto`.

### Installation
Get the latest version with `pip install opencce`.

### Future Plans
* Smart Card support.
* Compressed archive variant (SMIME is horrible for space efficiency).
* Install scripts, package for distributions.

### Usage
#### Encryption using `opencce`
$ opencce encrypt -c certificate.pem another_certificate.cer -- file1.txt file.pdf
Adding certificate: certificate.pem ... [OK]
Adding certificate: another_certificate.cer ... [OK]
Adding file: file1.txt ... [OK]
Adding file: file.pdf ... [OK]
Encrypting to Container.cce ... [OK]

#### Encryption using the Library
>>> from opencce.containers.CCEContainer import CCEContainer
>>> c = CCEContainer()
>>> c.add("file1.txt")
>>> c.add("file.pdf")
>>> c.add_recipient_certificate("certificate.pem")
>>> c.add_recipient_certificate("another_certificate.cer")
>>> with open("Container.cce", "wb") as fh: fh.write(c.encrypt())

#### Decryption using `opencce`
$ opencce decrypt -k key.pem -d Container Container.cce
Decrypting container: Container.cce ... [OK]
Making sure that the extraction directory is clean: . ... [OK]
Extracting file: Container/file1.txt ... [OK]
Extracting file: Container/file.pdf ... [OK]

#### Decryption using the Library
>>> from opencce.containers.CCEContainer import CCEContainer
>>> with open("Container.cce", "rb") as fh: c = CCEContainer.load(fh, "key.pem")
>>> for path, filename, handle in c.export(): # do something with those files
Release History

Release History

0.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
opencce-0.2-py2-none-any.whl (16.9 kB) Copy SHA256 Checksum SHA256 py2 Wheel Oct 13, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting