Small python code for K-PKI certificates. 공인인증서를 다루는 파이선 코드입니다.
- Load personal purpose of NPKI a.k.a "공인인증서"
- Encrypt, Decrypt, Sign, Verify (part of Public-key cryptography)
- Get Details (Valid date, Serial number, DN)
- PKCS#7 sign, envelop
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="my-0wn-S3cret")
sign = p.sign('1')
verify = p.verify(sign, '1') # True
Load specific certificate. (by DN)
import pypinksign
# choose_cert function automatically fetch path for certificates
# and load certificate which match DN and passpharase for Private Key
p = pypinksign.choose_cert(dn="홍길순", pw="i-am-h0ng")
sign = p.sign('1')
verify = p.verify(sign, '1') # True
envelop = p.envelop_with_sign_msg('message') # Envelop with K-PKI
Load PFX certificate.
import pypinksign
# choose_cert function automatically fetch path for certificates
# and load certificate which match DN and passpharase for Private Key
p = pypinksign.choose_cert(dn="홍길순", pw="i-am-h0ng")
sign = p.sign('1')
verify = p.verify(sign, '1') # True
envelop = p.envelop_with_sign_msg('message') # Envelop with K-PKI
- Python 2.7
- PyCrypto for Crypto.PublicKey
- python-pkcs1 for pkcs1
- PyASN1 for pyasn1
- cryptography for cryptography.hazmat
- bitarray 0.8.1 for bitarray.bitarray
- PyOpenSSL 16.2.0 for from OpenSSL.crypto
The easiest way to get PyPinkSign is if you have setuptools / distribute or pip installed
easy_install pypinksign
or
pip install pypinksign
The current development version can be found at http://github.com/bandoche/pypinksign/tarball/master
- Add support for PFX (PKCS 12).
- Add
PyOpenSSL
module for PFX support. - Remove
PBKDF1
module.
- Update
cryptography
dependency version to1.5
.
- You can load private key file from string.
- Update Docstring format.
- Bug fix.
- Add function for get serial number of cert.
- Remove README.rst in repository.
- Add README.rst for PyPI.
- First release.
- Python 3 support
- rootca.or.kr - Technical Specification for K-PKI System