Python code for PKI certificate. 공인인증서(공동인증서)를 다루는 파이썬 코드입니다.
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")
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
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
cryptography==44.0.1) to resolves multiple vulnerabilities.pyasn1==0.6.1) to support recent python versions.cryptography==42.0.8) to resolves multiple vulnerabilities.cryptography==38.0.3) which resolves CVE-2022-3602 and CVE-2022-3786.cryptography==36.0.1)r (rand num) value to private key. pyasn1 to 0.4.8.cryptography to 2.8.pyOpenSSL to 19.1.0.PyOpenSSL module for PFX support.PBKDF1 module.cryptography dependency version to 1.5.$ claude mcp add PyPinkSign \
-- python -m otcore.mcp_server <graph>