Saravanan666/pypi-org huggingface dataset:
Package: certifi-linux
certifi-linuxTable of ContentsAboutInstallationUsageCompatibilityImplementationRelated ProjectsCreditsLicenseAboutWHAT:certifi-linuxwrapscertifi, but instead of distributing a certificate likecertifidoes, it uses the Linux system trust store.WHY?Therequestsmodule depends oncertifiand uses it for TLS.certifidistributes the collection of root certificates provided by Mozilla for Python deployments. In some cases, especially in an enterprise setup it is necessary to use the certificates which are shipped with the OS.Installationcertifi-linuxis purposed forLinux! For Windows take a look atpip-system-certs.pip install certifi-linuxUsagecertifi-linuxjust needs to be installed. Afterwardscertifi.where()or$ python3 -m certifiwill return the path to the system store. Hence all dependent projects likerequestswill do as well.CompatibilityI am trying to keep tests up to date withendoflife.Tested distros are:alpine:3,ubuntu:focal, ubuntu:jammy, ubuntu:mantic,debian:buster, debian:bullseye, debian:bookworm,fedora:33, fedora:34, fedora:38, fedora:39,centos:stream9,(manually) rhel:37, rhel:38Yet untested: Arch, Slackware, OpenWRT, FreeBSD, SUSE, gentoo, ...Implementationcertifi-linuxmonkey patchescertif.whereandcertifi.contentsby usingwrapt. When called, it searches in the defined set of possible certificate bundle paths for a match.Cert Path CandidatesTested: yes✅, no❌Cert Bundle PathLinux Distribution/etc/ssl/cert.pemfedora >= 3.4✅, RHEL✅, alpine✅, centOS Stream✅, Arch❌, OpenWRT❌, FreeBSD❌/etc/pki/tls/cert.pemfedora <= 3.3✅/etc/ssl/certs/ca-certificates.crtDebian✅, Ubuntu✅/etc/ssl/ca-bundle.pemopenSUSE❌Related ProjectsThe idea behindcertifi-linuxis the same as behindcertifi-system-store.certifi-system-storereplaces the dist-info of certifi with its own dist-info. This approach needs a specific order of installation for a succesful patch. When installed as a dependency among a whole set of dependencies this is hard to ensure and replacing dist-infos can mess up virtual environments.pip-system-certssolves the same problem with a different approach. It monkey patches therequests.adapters.HTTPAdapterand usesssl.create_default_contextto load the OS certs. This works fine on Windows but has shown limitations on Linux as it does not work in some cases.Viewed from the outside,certifi-debianis doing the exact same thing likecertifi-linuxbut just for debian.certifi-system-store-wrapperalso does the same but with the necessity to set an environment variable.CreditsCredits go to the developers ofcertifi-system-storeandpip-system-certsascertifi-linuxis highly influenced by these two projects.Licensecertifi-linuxis distributed under the terms of theMITlicense.
Package: certiGenerator
certiGeneratorNow easily generate participation certificates digitally using this package.The package takes following six inputs --Certificate template pathOrganization's logoParticipant's nameEvent nameOrganization nameIssuer nameOutput Path to save the generated certificateLibraries requiredThis package requires opencv to write information onto the certificates.Sample Codeimport certiGeneratorapi = certiGenerator.certiGenerator()api.generate_certificate("certificate_template.png","google.png","Yatharth Arora","Software Development","Google","Google India")Refer to github link for the template certificate and generated certificatehttps://github.com/yathartharora/event_certificates
Package: certilizer
CertilizerCertilizer is a Python CLI for generating report of SSL certificates from multiple endpoints specified in a YAML configuration.Installationpip3 install certilizerUsageCreate a configuration file, e.g.certilizer.yaml:---
endpoints:
  - host: apple.com
    port: 443
  - host: google.com
    port: 443
  - host: microsoft.com
    port: 443And then runcertilizerCLI and pass the configuration file path:certilizer --conf-file certilizer.yamlIt will write the log messages to stdout:[certilizer] INFO Loading configuration file certilizer.yaml
[certilizer] INFO TODOConfigurationConfiguration properties:PropertyTypeDescriptionExampleendpoints[]ArrayA list of one or more endpoints with ...endpoints[].hostStringThe name of the tagset.apple.comendpoints[].portStringThe name of the tagset.443ColophonDeveloper's GuideBuild reports:Lint reportCode complexity reportUnit tests reportTest coverage reportIntegration tests reportAPI Documentation
Package: certipy
A simple python tool for creating certificate authorities and
certificates on the fly.IntroductionCertipy was made to simplify the certificate creation process. To that
end, Certipy exposes methods for creating and managing certificate
authorities, certificates, signing and building trust bundles. Behind
the scenes Certipy:Manages records of all certificates it createsExternal certs can be imported and managed by CertipyMaintains signing hierarchyPersists certificates to files with appropriate permissionsUsageCommand lineCreating a certificate authority:Certipy defaults to writing certs and certipy.json into a folder calledoutin your current directory.$ certipy foo
FILES {'ca': '', 'cert': 'out/foo/foo.crt', 'key': 'out/foo/foo.key'}
IS_CA True
SERIAL 0
SIGNEES None
PARENT_CACreating and signing a key-cert pair:$ certipy bar --ca-name foo
FILES {'ca': 'out/foo/foo.crt', 'key': 'out/bar/bar.key', 'cert': 'out/bar/bar.crt'}
IS_CA False
SERIAL 0
SIGNEES None
PARENT_CA fooRemoval:certipy --rm bar
Deleted:
FILES {'ca': 'out/foo/foo.crt', 'key': 'out/bar/bar.key', 'cert': 'out/bar/bar.crt'}
IS_CA False
SERIAL 0
SIGNEES None
PARENT_CA fooCodeCreating a certificate authority:from certipy import Certipy

certipy = Certipy(store_dir='/tmp')
certipy.create_ca('foo')
record = certipy.store.get_record('foo')Creating and signing a key-cert pair:certipy.create_signed_pair('bar', 'foo')
record = certipy.store.get_record('bar')Creating trust:certipy.create_ca_bundle('ca-bundle.crt')

# or to trust specific certs only:
certipy.create_ca_bundle_for_names('ca-bundle.crt', ['bar'])Removal:record = certipy.remove_files('bar')Records are dicts with the following structure:{
  'serial': 0,
  'is_ca': true,
  'parent_ca': 'ca_name',
  'signees': {
    'signee_name': 1
  },
  'files': {
    'key': 'path/to/key.key',
    'cert': 'path/to/cert.crt',
    'ca': 'path/to/ca.crt',
  }
}Thesigneeswill be empty for non-CA certificates. Thesigneesfield is stored as a pythonCounter. These relationships are used to
build trust bundles.Information in Certipy is generally passed around as records which point
to actual files. For most_recordmethods, there are generally
equivalent_filemethods that operate on files themselves. The
former will only affect records in Certipy’s store and the latter will
affect both (something happens to the file, the record for it should
change, too).ReleaseCertipy is released under BSD license. For more details see the LICENSE
file.LLNL-CODE-754897
Package: certleak
certleak - Cert-Monitoring Python FrameworkMonitor ssl certificates in real time!Certleak is a tool to analyze TLS certificates as they are issued.
It is heavily inspired byPhishing Catcherbyx0rz.It utilizes theCertificate Transparency Networkwhich is a framework for publicly monitoring issuance of TLS certificates.A regular use case of this tool is to find phishing domains before they are actively used in the wild.Instead of querying the single transparency log servers individually, certleak usescertstreamfor analyzing certificates in real time.
Certleak uses about 2600-3000 kbit/s of bandwidth.
Since certleak uses certstream, it only enables you to analyze live data.
There is no way to use this tool to analyze certificates that have been issued in the past or while being offline.ExtensibilityCreating new analyzers or actions is as easy as creating a new python file.
Certleak is built with extensibility in mind.
Check theanalyzer docsas well as theactions docs.InstallationSimply use pip to install this tool.pip install certleakUsageAfter downloading and installing the package, you only need to create a small python script in which you import certleak and set up the analyzers and the belonging actions.
Below you'll find an example configuration. Keep in mind that it's fully up to you what analyzers you want to add and which actions you want to be executed.In general the workflow is as follows:New Certificate -> Analyzer matches -> Actions are executed# -*- coding: utf-8 -*-importloggingfrompathlibimportPathfromcertleakimportCertLeakfromcertleak.actionsimportLogAction,DatabaseActionfromcertleak.analyzersimport(FullDomainAnalyzer,TLDAnalyzer,WildcardCertAnalyzer,X509Analyzer,LetsEncryptAnalyzer,RegexDomainAnalyzer,DNStwistAnalyzer)fromcertleak.databaseimportSQLiteDBcertleak=CertLeak()# Set up databasepath=Path.cwd().absolute()/"phish.db"db=SQLiteDB(str(path))# Set up actionsdb_action=DatabaseAction(db)logaction=LogAction(level=logging.INFO,template="${analyzer_name}found: ${leaf_cert.subject.CN}() - ${leaf_cert.all_domains}")# Set up analyzersxyz_tld_analyzer=TLDAnalyzer(logaction,["xyz"],blacklist="acmetestbykeychestdotnet")&X509Analyzer()phishing_analyzer=FullDomainAnalyzer([db_action,logaction],["paypal","amazon"])regex_analyzer=RegexDomainAnalyzer([db_action,logaction],r"([^.]*-)?pay[-_]?pa[l1i][-.].*")wildcard_analyzer=WildcardCertAnalyzer([db_action,logaction])&X509Analyzer()letsencrypt_analyzer=LetsEncryptAnalyzer(db_action)&X509Analyzer()# Set up DNStwist Analyzer - generates a list of potential phishing domains at start. Based on the DNStwist module.dns=DNStwistAnalyzer(logaction,"paypal.com")&X509Analyzer()certleak.add_analyzer(dns)certleak.add_analyzer(xyz_tld_analyzer)certleak.add_analyzer(phishing_analyzer)certleak.add_analyzer(regex_analyzer)certleak.add_analyzer(wildcard_analyzer)certleak.add_analyzer(letsencrypt_analyzer)certleak.start()You can findfull example filesin this repo as well.LicenseThis tool is released under the MIT license.If you found this tool helpful and want to support me, drop me a coffee at the link below.
Package: certmailer
Certificates MailerAutomatesending event's certificates by email.Uses exported information fromEventoL,
generatecertificates in PDF, andmail themto the
corresponding receiver.Installvirtualenv -p python3somewherecdsomewheresource bin/activate
pip install certmaileror using fadesfades -d certmailer -x certmailor add to your ~/.bashrccertmail() { fades -d certmailer -x certmail $@; }UsageCreate an account in MailJet, to send SMTP.Configurecertmail configType the api key and the secret key give to you by MailJet serviceCreate a new jobcertmail job newAdd dataGo to theEventoLinstance, login, and choosehttps://eventol.domain.com/adminSelect Activity, Attendees, Collaborators and Installers,
and export one by one to yaml format.Add them usingcertmail data add *.yamlCreate the list of recipientscertmail importthis will parse the yaml files exported fromEventoL, and create a
csv.Check the list of receiverscertmail edit listIt'll open the default editor on every case.If you don't want that somebody receives an email, clear «send mail?»
cell.If you want to add some certificate, addyesto the corresponding
cell.And if you don't want to send a certificate, clear the corresponding
cell.Add attachments and edit formatAdd attachments usingcertmail attach addEdit email's text partcertmail edit textEdit email's HTML partcertmail edit htmlEdit certificate in InkScapecertmail edit certificateRun everythingcertmail sendThis will create the certificates pdf to send,
All the information will be stored on the «cache//outbox» directory.This will send every mail. Every mail sent will be logged.If for some reason any mail isn't sended, it willIn linux systems, uses memory to store intermediate results, to speed up and
to better use hard disks.certmail send --flagThe flag is used to sendonlythe emails that are flagged in the send column
with the word .RequirementsPython 3PyYamlmailjet-restclickDev Instructionsgit clonegit@github.com:marian-vignau/certmailer.git
virtualenv env
source env/bin/activate
pip install -e .ContributingFork it!Create your feature branch:git checkout -b my-new-featureCommit your changes:git commit -am 'Add some feature'Push to the branch:git push origin my-new-featureSubmit a pull request :DTODOExtend documentationDigital signatureCreditsMaría Andrea Vignau
Package: cert-mailer
This is a tool to send emails to your certificate recipients.To use it, set up an account at sendgrid.com and add your API key to your environment:export SENDGRID_API_KEY=’SG.123ABC’Copyconf.sample.initoconf.iniand edit it to include your issuer’sintruduction_urlandcert_urlthe{}will be replaced with the cert filename from the distribution list.
Theintroduction_email_bodyis a template where any$keywill be replaced bykeyfrom the distribution list,$introduction_urland$qrcodecan also be used.
Thecert_email_bodyworks the same way but has$cert_urlinstead of$introduction_url.Set up a venv:python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtNow you can send your issuer introduction emails:python introduce.pyAnd your cert issuance emails:python sendcert.py
Package: certmaker
CertMakerThis repository provides the implementation of CertMaker.InstallationCertMaker is published onPyPIand can be installed from
there:~$ pip3 install certmakerDevelopmentIn order to install this repository locally run the following commands from thecertmakerrepository root directory.~$ python3 -m venv .venv
~$ source .venv/bin/activate
~$ pip3 install -r requirements.txt
~$ pip3 install -e .Get in touchReport bugs, suggest features or view the source codeon GitHub.For contributions refer tothe contributor's guide.LicenseLicensed under the MIT license (LICENSE-MITorhttp://opensource.org/licenses/MIT).
Package: certman
Certificate ManagerManage your certificate in the standardized p12 format.
This format can hold both your private key and your certificate,
making it ideal for storing your those together. You can then
use the export commands to extract the parts you need to supply
to your web server or other service.Createcertman create my-cert.p12 [--key-type rsa|ecdsa]Signcertman sign my-cert.p12 [sign-with.p12] [--attributes cn:mydomain.com]ExportYour key and certificate are usually required in PEM format.certman export key my-cert.p12
certman export certificate my-cert.p12
Package: cert-normalizer
Certificate normalizerНормализатор сертификата электронной подписи (далее ЭП) в формате base64Скрипт приводит содержимое сертификата ЭП в нормализованный вид.Добавляет-----BEGIN CERTIFICATE-----в начало файла и-----END CERTIFICATE-----в конец файла.Добавляет отступы каждые 65 символов для читаемости.ЗависимостиДля реализации CLI интерфейса используетсяtyperУстановка модуляpipinstallcert-normalizerИспользованиеpython-mcert_normalizerpath/to/cert.cerМожно также указывать путь до директории. В таком случае скрипт будет искать все файлы сертификатов, заканчивающиеся на.cerи будет пытаться нормализовать их.
Package: certn-python
certn-pythonA python client for Certn APIInstallationpipinstallcertn-pythonRequirementsrequests>=2,<3Basic UsageSubmit an application and check its resultsfromcertnimportClientimporttimeclient=Client(username='*****'password='***')body={"information":{"first_name":"Fake","last_name":"Name","date_of_birth":"1987-03-04","addresses":[{"address":"123 fakestreet","city":"VICTORIA","province_state":"BC","country":"CA"}]}}application=client.Applications.quick(body)whileapplication.status=='Analyzing':time.sleep(5)# 2-10 seconds to process, but can occasionally take up to 300 secondsapplication=client.Applicants.get(application.id)print('Application has returned!')client.logout()Invite an applicant to applyfromcertnimportClientclient=Client(username='*****'password='***')body={'email':'fake@fake.com','email_applicants':False}application=client.Applications.invite(body)client.logout()List all the logged in sessions and log them all countfromcertnimportClientclient=Client(username='*****'password='***')client.Auth.list()client.Auth.logout_all()add a property, list, get the property information and remove the propertyfromcertnimportClientclient=Client(username='*****'password='***')body={'address':'123 fakestreet','city':'VICTORIA','province_state':'BC','owner_id':client.user_id,}property=client.Properties.add(body)client.Properties.list()client.Properties.get(property.get('id'))client.Properties.delete(property.get('id'))client.logout()add a listing, list, get the listings information and remove the listingfromcertnimportClientclient=Client(username='*****'password='***')body={'address':'123 fakestreet','city':'VICTORIA','province_state':'BC','owner_id':client.user_id,}property=client.Properties.add(body)body={'rent':1000,'owner_id':client.user_id,'property_id':property.get('id'),'notification_list_ids':[],}listing=client.Listings.add(body)client.Listings.list()client.Listings.get(listing.get('id'))client.Listings.delete(listing.get('id'))client.Properties.delete(property.get('id'))client.logout()can also be called alternativelyfromcertnimportClientwithClient(username,password)asclient:client.Listings.list()Authorscertn-pythonwas written byBungalow Living <engineering@bungalow.com>.certn-pythonwas written byBungalow
Living.
Package: certomancer-csc-dummy
Certomancer-based dummy CSC server implementationOverviewThis package contains a minimal implementation of the Cloud Signature
Consortium (CSC) API for remote signing. It's intended for use in
integration tests and demonstrations.
Most of the heavy lifting is actually done byCertomancer. This package
merely wraps calls to Certomancer in anaiohttp-based web interface that
exposes (a subset of) the CSC API.This is atesting tool, and it omits all sorts of essential security features:Requests are not authenticatedNo SAD replay prevention of any sort, other than the standard hash pinning
supported by the CSC protocolAll keys in the Certomancer config can be used to sign hashes in CSC callsIt goes without saying that you shouldneveruse this implementation, or any
derivative thereof, with production keys.Missing featuresBesides most authentication-related endpoints, thecredentials/extendTransactionendpoint is currently also unavailable. Support
for this endpoint may be implemented in the future.The other obvious missing feature is "anything resembling a decent user interface".
This code was essentially isolated frompyHanko'sintegration tests in the hope that
it might be useful for others to play around with, and the primitive CLI reflects that.InvocationThe package is onPyPIand can be installed viapip:pipinstallcertomancer-csc-dummyThis is the command syntax. All parameters are required.certomancer-cscCERTOMANCER_CONFIGPORTSCALThe meaning of the parameters is as follows:CERTOMANCER_CONFIGis the path to your Certomancer config file, usually calledcertomancer.ymlPORTis the port on which you want the dummy server to listenSCALindicates whether SAD data is required to be bound to hashes
(1=no,2=yes) — see the CSC specification for details.The credentials exposed in the CSC API are in one-to-one correspondence with
certificates in Certomancer (assuming Certomancer has access to all the private keys).
The naming convention for credentials is<arch>/<cert-label>, where<arch>is the
name of the Certomancer PKI architecture you're trying to access, and<cert-label>is the label of the certificate that will be treated as the signer's certificate.
Example:testing-ca/signer1would access the certificatesigner1in the
architecture labelledtesting-ca. Signatures will be produced by the corresponding
private key.Again, note that all credentials are always available without any form of authentication,
although the caller is still required to go through the motions of requesting a SAD token
before any signatures will be returned.Note:The CSC dummy server currently doesnotlaunch Certomancer Animator or otherwise
expose access to trust services managed by Certomancer. For now, you need to launch
Certomancer Animator in a separate process if you need those.(The reason is that Certomancer doesn't (yet) natively integrate withaiohttp, it
currently only does WSGI. That may change in the future.)Example usageSee here:the workflow codefor pyHanko's "live" integration test setupthe dummy client implementationused in pyHanko's testsLicenseMIT license.
Package: certpeek
certpeekCertpeek peeks at the certificates exposed by SSL/TLS enabled hosts. Perfect for a quick look for debugging.And, it support tunneling through a HTTP proxy!Usage:Usage: certpeek [OPTIONS] HOST

  Peeks at certificates exposed by other hosts.

Options:
  --version          Show the version and exit.
  --proxy TEXT       Proxy to use.
  --servername TEXT  Custom SNI name to send in handshake.
  --no-servername    Do not send SNI in the handshake.
  --print-pem        Print certs in PEM format.
  --first-only       Only process the first retrieved cert.
  --openssl-format   Print cert info like OpenSSL.
  -h, --help         Show this message and exit.Install with pip:pip install certpeekor with pipx:pipx install certpeek
Package: certpwn
CertStream APIcertpwn - Cert-Monitoring Python FrameworkMonitor ssl certificates in real time!PastePwn is a tool to analyze freshly issued TLS certificates.
It is heavily inspired byPhishing Catcherbyx0rz.It utilizes theCertificate Transparency Networkwhich is a framework for publicly monitoring
issuance of TLS certificates.Instead of querying the single transparency logs individually, certpwn uses certstream for analyzing certificates in real time.
Certpwn uses about 2600-3000 kbit/s of bandwidthCertPwn can be used to monitor⚠ Please keep in mind that certpwn only enables you to analyze live data.
There is no way to analyze certificates that have been issued in the past or while being offline.InstallationTBDUsageTBDLicenseThis tool is released under the MIT license.If you found this tool helpful and want to support me, drop me a coffee at the link below.
Package: cert-schema
cert-schemaBlockchain Certificate schemas implement those ofVerifiable Credentials. As with Verifiable Credentials, we've provided both a JSON-LD context and JSON schema. The purpose of the JSON-LD context is to map types to Internationalized Resource Identifiers (IRIs), providing semantic context for data. The JSON Schema is used for syntactic validation.This python package allows verification of a Blockchain Certificate against the JSON
schemas as a convenience. This is not the same as verifying the contents of a certificate against what is stored
on the blockchain. See thecert-verifier-jsproject.Blockcerts JSON SchemaExampleTODO update for V3 once cert-issuer issues oneThe following is a Blockchain Certificate issued on the testnet Bitcoin network.{"@context":["https://www.w3.org/2018/credentials/v1","https://www.blockcerts.org/schema/3.0-alpha/context.json","https://www.w3.org/2018/credentials/examples/v1"],"id":"urn:uuid:bbba8553-8ec1-445f-82c9-a57251dd731c","type":["VerifiableCredential"],"issuer":"did:example:23adb1f712ebc6f1c276eba4dfa","issuanceDate":"2010-01-01T19:73:24Z","credentialSubject":{"id":"did:example:ebfeb1f712ebc6f1c276e12ec21","alumniOf":{"id":"did:example:c276e12ec21ebfeb1f712ebc6f1"}},"signature":{"type":"MerkleProof2019","created":"2020-01-21T12:32:11.693759","proofValue":"z2LuLBVSfnVzaQtvzuA7EaPQsGEgYWeaMTH1p3uqAG3ESx9HYyFzFFrYsyPkZSbn1Ji5LN76jw6HBr3oiaa8KsQenCPqKk7dJvxEXsDnYvhuDHtsrSRbzHdJKd66jAowkzPxPFi3ivyAv7WRK1WV2VhegYVQEnCBTrGJWFUMFFXunTcus7ZyedQvS4sr61X2y8QuJ57ycB5JMEHvUgAVq3qh2g3ucehg2ERKLo98jmqTcsh9HThkECG3BTNYRD3QL7AHWPjxRbQNSA83QNYXcCNA7NaZnCWyjC17ZBj3xszp76XvqFRrLjQbRSbzjVTPtBSV8QjhxThT3KTfgwjRn5JeeXhYvebsTT9YGL3W4ufzFRDpH79n5KPiaj1BPbEUfUq7vf2dg26QWeZBi7ME56","proofPurpose":"assertionMethod","verificationMethod":"ecdsa-koblitz-pubkey:0x7e30a37763e6Ba1fFeDE1750bBeFB4c60b17a1B3"}}Publishing package to pypiFirst time infoPublish script:./release_package.shUnit testsThis project uses tox to validate against several python environments.Ensure you have an python environment.RecommendationsRun tests./run_tests.shCompile markdown from schemaNote that json-schema-to-markdown doesn't handle ref schemas well, so you will
need to manually update any 'undefined' references.scripts/generate_markdown.jsbuilds the markdown-formatted schemas from jsonContactContact us atthe Blockcerts community forum.