All Projects → bcgit → Bc Java

bcgit / Bc Java

Licence: other
Bouncy Castle Java Distribution (Mirror)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Bc Java

github-did
Decentralized Identity with Github
Stars: ✭ 108 (-92.17%)
Mutual labels:  crypto, openpgp
Neopg
The multiversal cryptoengine!
Stars: ✭ 213 (-84.55%)
Mutual labels:  crypto, openpgp
Autocrypt
Convenient End-to-End Encryption for E-Mail
Stars: ✭ 161 (-88.32%)
Mutual labels:  crypto, openpgp
Pick
A secure and easy-to-use CLI password manager for macOS and Linux
Stars: ✭ 359 (-73.97%)
Mutual labels:  crypto, openpgp
Libsodium
A modern, portable, easy to use crypto library.
Stars: ✭ 9,782 (+609.35%)
Mutual labels:  crypto
Element
DID Method implementation using the Sidetree protocol on top of Ethereum and IPFS
Stars: ✭ 80 (-94.2%)
Mutual labels:  crypto
Cryptolocker
CryptoLocker is open source files encrypt-er. Crypto is developed in Visual C++. It has features encrypt all file, lock down the system and send keys back to the server. Multi-threaded functionality helps to this tool make encryption faster.
Stars: ✭ 79 (-94.27%)
Mutual labels:  crypto
Nfte
A universal way of embedding NFTs in your website or app, works with any ERC-721 contract. Bringing The Metaverse to Web2.
Stars: ✭ 75 (-94.56%)
Mutual labels:  crypto
Mud
Multipath UDP library
Stars: ✭ 100 (-92.75%)
Mutual labels:  crypto
Etherwalletkit
Ethereum Wallet Toolkit for iOS - You can implement an Ethereum wallet without a server and blockchain knowledge.
Stars: ✭ 96 (-93.04%)
Mutual labels:  crypto
Ghostunnel
A simple SSL/TLS proxy with mutual authentication for securing non-TLS services
Stars: ✭ 1,296 (-6.02%)
Mutual labels:  crypto
Hdwallet
Simple Swift library for creating HD cryptocurrencies wallets and working with crypto Coins/ERC20 tokens.
Stars: ✭ 80 (-94.2%)
Mutual labels:  crypto
Dudect
dude, is my code constant time?
Stars: ✭ 91 (-93.4%)
Mutual labels:  crypto
Blockchain golang
Blockchain demo based on golang 基于golang编写的区块链公链demo
Stars: ✭ 80 (-94.2%)
Mutual labels:  crypto
Web3.swift
Web3 and Geth wrapper utility in swift
Stars: ✭ 99 (-92.82%)
Mutual labels:  crypto
Kbfs
Keybase Filesystem (KBFS)
Stars: ✭ 1,218 (-11.68%)
Mutual labels:  crypto
Ccxt.net
CCXT.NET – CryptoCurrency eXchange Trading Library for .NET
Stars: ✭ 89 (-93.55%)
Mutual labels:  crypto
Dapp
Censorship resistant democracies.
Stars: ✭ 1,326 (-3.84%)
Mutual labels:  crypto
Openwallet Android
The first truly free, libre, and open source light wallet for multiple cryptocurrencies (Bitcoin, Ethereum, Ripple, etc).
Stars: ✭ 86 (-93.76%)
Mutual labels:  crypto
Opencx
An open-source cryptocurrency exchange toolkit for implementing experimental exchange features
Stars: ✭ 86 (-93.76%)
Mutual labels:  crypto

The Bouncy Castle Crypto Package For Java

Build Status

The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at https://www.bouncycastle.org.

The Legion also gratefully acknowledges the contributions made to this package by others (see here for the current list). If you would like to contribute to our efforts please feel free to get in touch with us or visit our donations page, sponsor some specific work, or purchase a support contract through Crypto Workshop.

The package is organised so that it contains a light-weight API suitable for use in any environment (including the newly released J2ME) with the additional infrastructure to conform the algorithms to the JCE framework.

Except where otherwise stated, this software is distributed under a license based on the MIT X Consortium license. To view the license, see here. The OpenPGP library also includes a modified BZIP2 library which is licensed under the Apache Software License, Version 2.0.

Note: this source tree is not the FIPS version of the APIs - if you are interested in our FIPS version please contact us directly at [email protected].

Code Organisation

The clean room JCE, for use with JDK 1.1 to JDK 1.3 is in the jce/src/main/java directory. From JDK 1.4 and later the JCE ships with the JVM, the source for later JDKs follows the progress that was made in the later versions of the JCE. If you are using a later version of the JDK which comes with a JCE install please do not include the jce directory as a source file as it will clash with the JCE API installed with your JDK.

The core module provides all the functionality in the ligthweight APIs.

The prov module provides all the JCA/JCE provider functionality.

The pkix module is the home for code for X.509 certificate generation and the APIs for standards that rely on ASN.1 such as CMS, TSP, PKCS#12, OCSP, CRMF, and CMP.

The mail module provides an S/MIME API built on top of CMS.

The pg module is the home for code used to support OpenPGP.

The tls module is the home for code used to a general TLS API and JSSE Provider.

The build scripts that come with the full distribution allow creation of the different releases by using the different source trees while excluding classes that are not appropriate and copying in the required compatibility classes from the directories containing compatibility classes appropriate for the distribution.

If you want to try create a build for yourself, using your own environment, the best way to do it is to start with the build for the distribution you are interested in, make sure that builds, and then modify your build scripts to do the required exclusions and file copies for your setup, otherwise you are likely to get class not found exceptions. The final caveat to this is that as the j2me distribution includes some compatibility classes starting in the java package, you need to use an obfuscator to change the package names before attempting to import a midlet using the BC API.

Examples and Tests

To view some examples, look at the test programs in the packages:

  • org.bouncycastle.crypto.test

  • org.bouncycastle.jce.provider.test

  • org.bouncycastle.cms.test

  • org.bouncycastle.mail.smime.test

  • org.bouncycastle.openpgp.test

  • org.bouncycastle.tsp.test

There are also some specific example programs for dealing with SMIME and OpenPGP. They can be found in:

  • org.bouncycastle.mail.smime.examples

  • org.bouncycastle.openpgp.examples

Mailing Lists

For those who are interested, there are 2 mailing lists for participation in this project. To subscribe use the links below and include the word subscribe in the message body. (To unsubscribe, replace subscribe with unsubscribe in the message body)

  • [email protected]
    This mailing list is for new release announcements only, general subscribers cannot post to it.
  • [email protected]
    This mailing list is for discussion of development of the package. This includes bugs, comments, requests for enhancements, questions about use or operation.

NOTE: You need to be subscribed to send mail to the above mailing list.

Feedback and Contributions

If you want to provide feedback directly to the members of The Legion then please use [email protected], if you want to help this project survive please consider donating.

For bug reporting/requests you can report issues here on github, or via feedback-crypto if required. We will accept pull requests based on this repository as well, but only on the basis that any code included may be distributed under the Bouncy Castle License.

Finally

Enjoy!

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].