All Projects → bandoche → Pypinksign

bandoche / Pypinksign

Licence: mit
PinkSign – a friendly Python library for NPKI (공인인증서) certificates 🔑

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pypinksign

Pathwar
☠️ The Pathwar Project ☠️
Stars: ✭ 58 (-10.77%)
Mutual labels:  cryptography
Quantumgate
QuantumGate is a peer-to-peer (P2P) communications protocol, library and API written in C++.
Stars: ✭ 62 (-4.62%)
Mutual labels:  cryptography
Fhe Toolkit Linux
IBM Fully Homomorphic Encryption Toolkit For Linux. This toolkit is a Linux based Docker container that demonstrates computing on encrypted data without decrypting it! The toolkit ships with two demos including a fully encrypted Machine Learning inference with a Neural Network and a Privacy-Preserving key-value search.
Stars: ✭ 1,123 (+1627.69%)
Mutual labels:  cryptography
Coniks Java
A CONIKS implementation in Java
Stars: ✭ 58 (-10.77%)
Mutual labels:  cryptography
Raaz
Cryptographic library for Haskell
Stars: ✭ 60 (-7.69%)
Mutual labels:  cryptography
Shadowcloud
Universal cloud storage client
Stars: ✭ 62 (-4.62%)
Mutual labels:  cryptography
Ipfsfb
InterPlanetary File System for Business (IPFSfB) is an enterprise blockchain storage network based on InterPlanetary File System.
Stars: ✭ 57 (-12.31%)
Mutual labels:  cryptography
Python Opentimestamps
Stars: ✭ 64 (-1.54%)
Mutual labels:  cryptography
Constantine
Constant time pairing-based or elliptic curve based cryptography and digital signatures
Stars: ✭ 61 (-6.15%)
Mutual labels:  cryptography
Masterpassword
Project moved to https://gitlab.com/spectre.app
Stars: ✭ 1,122 (+1626.15%)
Mutual labels:  cryptography
Minisign
A dead simple tool to sign files and verify digital signatures.
Stars: ✭ 1,105 (+1600%)
Mutual labels:  cryptography
Bramble
Bramble is a hacking Open source suite.
Stars: ✭ 60 (-7.69%)
Mutual labels:  cryptography
Exonum Client
JavaScript client for Exonum blockchain
Stars: ✭ 62 (-4.62%)
Mutual labels:  cryptography
Wolfssl
wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!
Stars: ✭ 1,098 (+1589.23%)
Mutual labels:  cryptography
Low Latency Android Ios Linux Windows Tvos Macos Interactive Audio Platform
🇸Superpowered Audio, Networking and Cryptographics SDKs. High performance and cross platform on Android, iOS, macOS, tvOS, Linux, Windows and modern web browsers.
Stars: ✭ 1,121 (+1624.62%)
Mutual labels:  cryptography
Skale Network
Elastic sidechains
Stars: ✭ 58 (-10.77%)
Mutual labels:  cryptography
Waykichain
Public Blockchain as a Decentralized Finance Infrastructure Service Platform
Stars: ✭ 1,117 (+1618.46%)
Mutual labels:  cryptography
Cloakify
CloakifyFactory - Data Exfiltration & Infiltration In Plain Sight; Convert any filetype into list of everyday strings, using Text-Based Steganography; Evade DLP/MLS Devices, Defeat Data Whitelisting Controls, Social Engineering of Analysts, Evade AV Detection
Stars: ✭ 1,136 (+1647.69%)
Mutual labels:  cryptography
Seal Demo
Demos, Examples, Tutorials for using Microsoft SEAL library.
Stars: ✭ 63 (-3.08%)
Mutual labels:  cryptography
Dfw1n Osint
Australian Open Source Intelligence Gathering Resources, Australias Largest Open Source Intelligence Repository for Cyber Professionals and Ethical Hackers
Stars: ✭ 63 (-3.08%)
Mutual labels:  cryptography

PyPinkSign

Python code for PKI certificate. 공인인증서(공동인증서)를 다루는 파이썬 코드입니다.

Status

CircleCI Build Status codecov

Support method

  • Load personal purpose of PKI a.k.a "NPKI" or "공인인증서"
  • Encrypt, Decrypt, Sign, Verify (part of Public-key cryptography)
  • Get Details (Valid date, Serial number, CN)
  • PKCS#7 sign, envelop (WIP)

Usage example

Load public key file and private key file.

import pypinksign
p = pypinksign.PinkSign()
p.load_pubkey(pubkey_path="/path/signCert.der")
p.load_prikey(prikey_path="/path/signPri.key", prikey_password=b"my-0wn-S3cret")
sign = p.sign(b'1') 
verify = p.verify(sign, b'1')  # True

Load specific certificate. (by CN)

import pypinksign

# choose_cert function automatically fetch path for certificates
# and load certificate which match CN and passpharase for Private Key
p = pypinksign.choose_cert(cn="홍길순", pw=b"i-am-h0ng")
sign = p.sign(b'1') 
verify = p.verify(sign, b'1')  # True
envelop = p.pkcs7_signed_msg(b'message')  # PKCS7 signed with K-PKI

Load PFX(p12) certificate.

import pypinksign

# choose_cert function automatically fetch path for certificates
# and load certificate which match DN and passpharase for Private Key
p = pypinksign.PinkSign(p12_path="홍길순.pfx", prikey_password=b"i-am-h0ng")
p.load_prikey()
sign = p.sign(b'1') 
verify = p.verify(sign, b'1')  # True
envelop = p.pkcs7_enveloped_msg(b'message')  # Envelop with K-PKI - Temporary removed

Requirement & Dependency

  • Python 3.6 or above
  • PyASN1 for pyasn1
  • cryptography for cryptography.hazmat
  • OpenSSL 1.1.1 or above due to cryptography package

Installation

The easiest way to get PyPinkSign is pip

pip install pypinksign

The current development version can be found at http://github.com/bandoche/pypinksign/tarball/main

History

Ver. 0.4.5 (2020-12-03)

  • Fix import path issue (thanks to Gyong1211)

Ver. 0.4.4 (2020-12-03)

  • Fix CRT related param error
  • Remove PyOpenSSL dependency
  • Remove old OpenSSL version dependency with pure SEED implementation.
    • If SEED algorithm is not supported by local OpenSSL, use python version of SEED algorithm automatically.

Ver. 0.4.3 (2020-02-26)

  • Fix seed_generator to generate bytes

Ver. 0.4.2 (2020-02-26)

  • Test code fix

Ver. 0.4.1 (2020-02-26)

  • Add PKCS7 sign message.

Ver. 0.4 (2020-02-26)

  • Drop Python 2 support.
  • Support Python 3.6 or above.
  • Add type hinting.
  • Add test code.
  • Add PBKDF2 for support PBES2 private key. (by [yongminz])
  • Add function to inject r (rand num) value to private key.
  • Update pyasn1 to 0.4.8
  • Update cryptography to 2.8
  • Update pyOpenSSL to 19.1.0
  • Temporary remove enveloping function.

Ver. 0.3 (2017-03-14)

  • Add support for PFX (PKCS 12).
  • Add PyOpenSSL module for PFX support.
  • Remove PBKDF1 module.

Ver. 0.2.3 (2016-09-19)

  • Update cryptography dependency version to 1.5.

Ver. 0.2.2 (2016-07-25)

  • You can load private key file from string.
  • Update Docstring format.

Ver. 0.2.1 (2016-06-23)

  • Bug fix.

Ver. 0.2 (2016-06-21)

  • Add function for get serial number of cert.
  • Remove README.rst in repository.

Ver. 0.1.1 (2015-06-07)

  • Add README.rst for PyPI.

Ver. 0.1 (2015-06-07)

  • First release.

Thanks to

See also

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].