Skip to main content

Minimalistic Internet Key Exchange protocol v2 (RFC 5996) library

Project description

The goal of this project is to be a minimalistic IKEv2 (RFC 5996) implementation in Python.

Status

This project is in early stages. Use at own risk.

It will make your IP stack talk ESP to the remote peer.

What it can do:

  • Act as an initiator

  • Authenticate itself and peer using raw RSA keys.

  • Install ESP SAs and SPD entries to use the key material via setkey command from ipsec-tools.

Limitations (hardcoded values):

  • Cipher algorithm is Camellia in CBC mode with 256 bit keys.

  • HMAC / Hash / PRF algorithm is SHA2/256.

  • IKE group is Diffie-Hellman modp 14.

  • Authentication (both own private and peer public) key file paths are hardcoded.

  • ‘setkey’ syntax is of whatever the ipsec-tools on Debian 7.1 accept.

  • Traffic selectors are myip:any:0-65535 <-> peerip:any:0-65535

Design principles

  • Minimal amount of code.

  • Support MUST features of draft-kivinen-ipsecme-ikev2-rfc5996bis-02 (RFC 5996 successor)

  • Use strongest algorithms possible.

Documentation

You can read the Documentation at https://pythonhosted.org/ike

What this project is NOT going to be

  • ISAKMP (IKEv1) RFC 2409 compliant

  • IPSec data plane / ESP protocol

License

  • MIT License

References

Project details


Download files

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

Source Distribution

ike-0.1.1.tar.gz (16.3 kB view details)

Uploaded Source

Built Distributions

ike-0.1.1-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

ike-0.1.1-py2.py3-none-any.whl (20.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ike-0.1.1.tar.gz.

File metadata

  • Download URL: ike-0.1.1.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ike-0.1.1.tar.gz
Algorithm Hash digest
SHA256 91e90e5ad54df0052f04feefdcc8954dd12c824ba76e5b6076c1802de10e946f
MD5 4320fcc0ee989255304da1db532a8707
BLAKE2b-256 2a3143fe30090ec31bc1f369abd5fa318d2e4d9bf4dd19492c9cd621837f3205

See more details on using hashes here.

File details

Details for the file ike-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ike-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ecf264ba7db2b5342c296765d2e60cc1838445050253009bed184c25a2da4f90
MD5 e8bedbce4b11cb2be68d667682a056cb
BLAKE2b-256 9d8518d5e1db193a8c4dec5ffab3a9fe3f88615b69bdeec31eac8fbcf9cf56c2

See more details on using hashes here.

File details

Details for the file ike-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ike-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 16c2ae45fe625cb91354d5bc29f39100cf2b43ca8333d26e046ad2992d09180d
MD5 e16cc6d2c15370f3576c2c71887c73a0
BLAKE2b-256 b0f9d4295184d1e3bed8e1e9c6bdaa861d4cb652eb0fce47cb0293ef252e4152

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page