README.android
README.md
1 Conscrypt - A Java Security Provider
2 ========================================
3
4 Conscrypt is a Java Security Provider (JSP) that implements parts of the Java
5 Cryptography Extension (JCE) and Java Secure Socket Extension (JSSE). It uses
6 BoringSSL to provide cryptographic primitives and Transport Layer Security (TLS)
7 for Java applications on Android and OpenJDK. See [the capabilities
8 documentation](CAPABILITIES.md) for detailed information on what is provided.
9
10 The core SSL engine has borrowed liberally from the [Netty](http://netty.io/) project and their
11 work on [netty-tcnative](http://netty.io/wiki/forked-tomcat-native.html), giving `Conscrypt`
12 similar performance.
13
14 <table>
15 <tr>
16 <td><b>Homepage:</b></td>
17 <td>
18 <a href="https://conscrypt.org/">conscrypt.org</a>
19 </td>
20 </tr>
21 <tr>
22 <td><b>Mailing List:</b></td>
23 <td>
24 <a href="https://groups.google.com/forum/#!forum/conscrypt">conscrypt (a] googlegroups.com</a>
25 </td>
26 </tr>
27 </table>
28
29 Download
30 -------------
31 Conscrypt supports **Java 7** or later on OpenJDK and **Gingerbread (API Level
32 9)** or later on Android. The build artifacts are available on Maven Central.
33
34 ### Download JARs
35 You can download
36 [the JARs](http://search.maven.org/#search%7Cga%7C1%7Cg:%22org.conscrypt%22)
37 directly from the Maven repositories.
38
39 ### OpenJDK (i.e. non-Android)
40
41 #### Native Classifiers
42
43 The OpenJDK artifacts are platform-dependent since each embeds a native library for a particular
44 platform. We publish artifacts to Maven Central for the following platforms:
45
46 Classifier | OS | Architecture
47 -----------| ------- | ---------------- |
48 linux-x86_64 | Linux | x86_64 (64-bit)
49 osx-x86_64 | Mac | x86_64 (64-bit)
50 windows-x86 | Windows | x86 (32-bit)
51 windows-x86_64 | Windows | x86_64 (64-bit)
52
53 #### Maven
54
55 Use the [os-maven-plugin](https://github.com/trustin/os-maven-plugin) to add the dependency:
56
57 ```xml
58 <build>
59 <extensions>
60 <extension>
61 <groupId>kr.motd.maven</groupId>
62 <artifactId>os-maven-plugin</artifactId>
63 <version>1.4.1.Final</version>
64 </extension>
65 </extensions>
66 </build>
67
68 <dependency>
69 <groupId>org.conscrypt</groupId>
70 <artifactId>conscrypt-openjdk</artifactId>
71 <version>2.0.0</version>
72 <classifier>${os.detected.classifier}</classifier>
73 </dependency>
74 ```
75
76 #### Gradle
77 Use the [osdetector-gradle-plugin](https://github.com/google/osdetector-gradle-plugin)
78 (which is a wrapper around the os-maven-plugin) to add the dependency:
79
80 ```gradle
81 buildscript {
82 repositories {
83 mavenCentral()
84 }
85 dependencies {
86 classpath 'com.google.gradle:osdetector-gradle-plugin:1.4.0'
87 }
88 }
89
90 // Use the osdetector-gradle-plugin
91 apply plugin: "com.google.osdetector"
92
93 dependencies {
94 compile 'org.conscrypt:conscrypt-openjdk:2.0.0:' + osdetector.classifier
95 }
96 ```
97
98 #### Uber JAR
99
100 For convenience, we also publish an Uber JAR to Maven Central that contains the shared
101 libraries for all of the published platforms. While the overall size of the JAR is
102 larger than depending on a platform-specific artifact, it greatly simplifies the task of
103 dependency management for most platforms.
104
105 To depend on the uber jar, simply use the `conscrypt-openjdk-uber` artifacts.
106
107 ##### Maven
108 ```xml
109 <dependency>
110 <groupId>org.conscrypt</groupId>
111 <artifactId>conscrypt-openjdk-uber</artifactId>
112 <version>2.0.0</version>
113 </dependency>
114 ```
115
116 ##### Gradle
117 ```gradle
118 dependencies {
119 compile 'org.conscrypt:conscrypt-openjdk-uber:2.0.0'
120 }
121 ```
122
123 ### Android
124
125 The Android AAR file contains native libraries for x86, x86_64, armeabi-v7a, and
126 arm64-v8a.
127
128 #### Gradle
129
130 ```gradle
131 dependencies {
132 compile 'org.conscrypt:conscrypt-android:2.0.0'
133 }
134 ```
135
136
137 How to Build
138 ------------
139
140 If you are making changes to Conscrypt, see the [building
141 instructions](BUILDING.md).
142