Skip to content
Browse files

Created gh-pages branch via GitHub

  • Loading branch information...
0 parents commit d1601fbf3bb3bdde6d17d55c1070b0c1e4a0fca1 @rtyley committed
Showing with 428 additions and 0 deletions.
  1. +87 −0 index.html
  2. +20 −0 javascripts/scale.fix.js
  3. +1 −0 params.json
  4. +69 −0 stylesheets/pygment_trac.css
  5. +251 −0 stylesheets/styles.css
87 index.html
@@ -0,0 +1,87 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="chrome=1">
+ <title>Spongy Castle by rtyley</title>
+
+ <link rel="stylesheet" href="stylesheets/styles.css">
+ <link rel="stylesheet" href="stylesheets/pygment_trac.css">
+ <script src="javascripts/scale.fix.js"></script>
+ <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ </head>
+ <body>
+ <div class="wrapper">
+ <header>
+ <h1>Spongy Castle</h1>
+ <p>a repackage of Bouncy Castle for Android</p>
+ <p class="view"><a href="https://github.com/rtyley/spongycastle">View the Project on GitHub <small>rtyley/spongycastle</small></a></p>
+ <ul>
+ <li><a href="https://github.com/rtyley/spongycastle/zipball/master">Download <strong>ZIP File</strong></a></li>
+ <li><a href="https://github.com/rtyley/spongycastle/tarball/master">Download <strong>TAR Ball</strong></a></li>
+ <li><a href="https://github.com/rtyley/spongycastle">Fork On <strong>GitHub</strong></a></li>
+ </ul>
+ </header>
+ <section>
+ <p>This project aims to be a full replacement for the crippled versions of the Bouncy Castle cryptographic libraries which ship with Android. As noted here:</p>
+
+<p><a href="http://code.google.com/p/android/issues/detail?id=3280">http://code.google.com/p/android/issues/detail?id=3280</a></p>
+
+<p>...the Android platform unfortunately incorporates a cut-down version of Bouncy Castle, which also makes installing an updated version of the libraries difficult due to classloader conflicts.</p>
+
+<p>Spongy Castle is the stock Bouncy Castle libraries with a couple of small changes to make it work on Android:</p>
+
+<ul>
+<li>all package names have been moved from org.bouncycastle.* to org.spongycastle.* - so no classloader conflicts</li>
+<li>the Java Security API Provider name is now <strong>SC</strong> rather than <strong>BC</strong>
+</li>
+</ul><p>No class names have been changed, so the BouncyCastleProvider class remains Bouncy, not Spongy, but moves to the org.spongycastle.jce.provider package. </p>
+
+<h4>Downloads</h4>
+
+<p>You can directly download the latest jar <a href="http://search.maven.org/remotecontent?filepath=com/madgag/scprov-jdk15/1.46.99.3-UNOFFICIAL-ROBERTO-RELEASE/scprov-jdk15-1.46.99.3-UNOFFICIAL-ROBERTO-RELEASE.jar">here</a> (this is just a link to the published artifact in Maven Central).</p>
+
+<h4>Using Spongy Castle</h4>
+
+<p>You register it just the same as the standard BouncyCastleProvider:</p>
+
+<pre><code>static {
+ Security.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider());
+}
+</code></pre>
+
+<p>You can see an example of Spongy Castle in active use in the <a href="https://github.com/rtyley/toy-android-ssh-agent">toy-android-ssh-agent</a> project:</p>
+
+<p><a href="https://github.com/rtyley/toy-android-ssh-agent/blob/d768a9ba853272d396f3b528eb991ea38244e6bc/src/main/java/com/madgag/ssh/toysshagent/ToyAuthAgentService.java#L28">https://github.com/rtyley/toy-android-ssh-agent/blob/d768a9ba853272d396f3b528eb991ea38244e6bc/src/main/java/com/madgag/ssh/toysshagent/ToyAuthAgentService.java#L28</a></p>
+
+<p>There's also an even simpler demo project showing how to include Spongy Castle in a vanilla Eclipse project:</p>
+
+<p><a href="https://github.com/rtyley/spongycastle-eclipse#readme">https://github.com/rtyley/spongycastle-eclipse#readme</a></p>
+
+<h4>Maven</h4>
+
+<p>Spongy Castle artifacts have been published to Maven Central, you can use <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.madgag%22%20AND%20a%3A%22scprov-jdk15%22">scprov-jdk15</a> as a drop-in replacement for the official Bouncy Castle artifact <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.bouncycastle%22%20a%3A%22bcprov-jdk15%22">bcprov-jdk15</a>.</p>
+
+<p>I suggest you use the <a href="http://code.google.com/p/maven-android-plugin/">android-maven-plugin</a> to make the most of this :-)</p>
+
+<h4>Licence</h4>
+
+<p>Bouncy Castle uses an <a href="http://www.bouncycastle.org/licence.html">adaptation of the MIT X11 License</a> and as Spongy Castle is a simple re-package of Bouncy Castle, you should consider it to be licenced under those same terms.</p>
+
+<h4>Projects using Spongy Castle</h4>
+
+<p><a href="http://martijno.blogspot.com/2011/07/jmrtd-for-android.html">JMRTD for Android</a></p>
+
+<p><a href="https://github.com/zdia/gorilla/wiki/Gorilla-for-Android">Gorilla for Android</a></p>
+ </section>
+ <footer>
+ <p>This project is maintained by <a href="https://github.com/rtyley">rtyley</a></p>
+ <p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
+ </footer>
+ </div>
+ <!--[if !IE]><script>fixScale(document);</script><!--<![endif]-->
+ </body>
+</html>
20 javascripts/scale.fix.js
@@ -0,0 +1,20 @@
+fixScale = function(doc) {
+
+ var addEvent = 'addEventListener',
+ type = 'gesturestart',
+ qsa = 'querySelectorAll',
+ scales = [1, 1],
+ meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : [];
+
+ function fix() {
+ meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1];
+ doc.removeEventListener(type, fix, true);
+ }
+
+ if ((meta = meta[meta.length - 1]) && addEvent in doc) {
+ fix();
+ scales = [.25, 1.6];
+ doc[addEvent](type, fix, true);
+ }
+
+};
1 params.json
@@ -0,0 +1 @@
+{"name":"Spongy Castle","body":"This project aims to be a full replacement for the crippled versions of the Bouncy Castle cryptographic libraries which ship with Android. As noted here:\r\n\r\nhttp://code.google.com/p/android/issues/detail?id=3280\r\n\r\n...the Android platform unfortunately incorporates a cut-down version of Bouncy Castle, which also makes installing an updated version of the libraries difficult due to classloader conflicts.\r\n\r\nSpongy Castle is the stock Bouncy Castle libraries with a couple of small changes to make it work on Android:\r\n\r\n- all package names have been moved from org.bouncycastle.* to org.spongycastle.* - so no classloader conflicts\r\n- the Java Security API Provider name is now **SC** rather than **BC**\r\n\r\nNo class names have been changed, so the BouncyCastleProvider class remains Bouncy, not Spongy, but moves to the org.spongycastle.jce.provider package. \r\n\r\n#### Downloads\r\n\r\nYou can directly download the latest jar [here](http://search.maven.org/remotecontent?filepath=com/madgag/scprov-jdk15/1.46.99.3-UNOFFICIAL-ROBERTO-RELEASE/scprov-jdk15-1.46.99.3-UNOFFICIAL-ROBERTO-RELEASE.jar) (this is just a link to the published artifact in Maven Central).\r\n\r\n#### Using Spongy Castle\r\n\r\nYou register it just the same as the standard BouncyCastleProvider:\r\n\r\n\tstatic {\r\n\t\tSecurity.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider());\r\n\t}\r\n\r\nYou can see an example of Spongy Castle in active use in the [toy-android-ssh-agent](https://github.com/rtyley/toy-android-ssh-agent) project:\r\n\r\nhttps://github.com/rtyley/toy-android-ssh-agent/blob/d768a9ba853272d396f3b528eb991ea38244e6bc/src/main/java/com/madgag/ssh/toysshagent/ToyAuthAgentService.java#L28\r\n\r\nThere's also an even simpler demo project showing how to include Spongy Castle in a vanilla Eclipse project:\r\n\r\nhttps://github.com/rtyley/spongycastle-eclipse#readme\r\n\r\n#### Maven\r\n\r\nSpongy Castle artifacts have been published to Maven Central, you can use [scprov-jdk15](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.madgag%22%20AND%20a%3A%22scprov-jdk15%22) as a drop-in replacement for the official Bouncy Castle artifact [bcprov-jdk15](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.bouncycastle%22%20a%3A%22bcprov-jdk15%22).\r\n\r\nI suggest you use the [android-maven-plugin](http://code.google.com/p/maven-android-plugin/) to make the most of this :-)\r\n\r\n#### Licence\r\n\r\nBouncy Castle uses an [adaptation of the MIT X11 License](http://www.bouncycastle.org/licence.html) and as Spongy Castle is a simple re-package of Bouncy Castle, you should consider it to be licenced under those same terms.\r\n\r\n#### Projects using Spongy Castle\r\n\r\n[JMRTD for Android](http://martijno.blogspot.com/2011/07/jmrtd-for-android.html)\r\n\r\n[Gorilla for Android](https://github.com/zdia/gorilla/wiki/Gorilla-for-Android)","tagline":"a repackage of Bouncy Castle for Android","google":""}
69 stylesheets/pygment_trac.css
@@ -0,0 +1,69 @@
+.highlight { background: #ffffff; }
+.highlight .c { color: #999988; font-style: italic } /* Comment */
+.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+.highlight .k { font-weight: bold } /* Keyword */
+.highlight .o { font-weight: bold } /* Operator */
+.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
+.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
+.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #aa0000 } /* Generic.Error */
+.highlight .gh { color: #999999 } /* Generic.Heading */
+.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
+.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #555555 } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
+.highlight .kc { font-weight: bold } /* Keyword.Constant */
+.highlight .kd { font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #009999 } /* Literal.Number */
+.highlight .s { color: #d14 } /* Literal.String */
+.highlight .na { color: #008080 } /* Name.Attribute */
+.highlight .nb { color: #0086B3 } /* Name.Builtin */
+.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
+.highlight .no { color: #008080 } /* Name.Constant */
+.highlight .ni { color: #800080 } /* Name.Entity */
+.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
+.highlight .nn { color: #555555 } /* Name.Namespace */
+.highlight .nt { color: #000080 } /* Name.Tag */
+.highlight .nv { color: #008080 } /* Name.Variable */
+.highlight .ow { font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #009999 } /* Literal.Number.Float */
+.highlight .mh { color: #009999 } /* Literal.Number.Hex */
+.highlight .mi { color: #009999 } /* Literal.Number.Integer */
+.highlight .mo { color: #009999 } /* Literal.Number.Oct */
+.highlight .sb { color: #d14 } /* Literal.String.Backtick */
+.highlight .sc { color: #d14 } /* Literal.String.Char */
+.highlight .sd { color: #d14 } /* Literal.String.Doc */
+.highlight .s2 { color: #d14 } /* Literal.String.Double */
+.highlight .se { color: #d14 } /* Literal.String.Escape */
+.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
+.highlight .si { color: #d14 } /* Literal.String.Interpol */
+.highlight .sx { color: #d14 } /* Literal.String.Other */
+.highlight .sr { color: #009926 } /* Literal.String.Regex */
+.highlight .s1 { color: #d14 } /* Literal.String.Single */
+.highlight .ss { color: #990073 } /* Literal.String.Symbol */
+.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #008080 } /* Name.Variable.Class */
+.highlight .vg { color: #008080 } /* Name.Variable.Global */
+.highlight .vi { color: #008080 } /* Name.Variable.Instance */
+.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
+
+.type-csharp .highlight .k { color: #0000FF }
+.type-csharp .highlight .kt { color: #0000FF }
+.type-csharp .highlight .nf { color: #000000; font-weight: normal }
+.type-csharp .highlight .nc { color: #2B91AF }
+.type-csharp .highlight .nn { color: #000000 }
+.type-csharp .highlight .s { color: #A31515 }
+.type-csharp .highlight .sc { color: #A31515 }
251 stylesheets/styles.css
@@ -0,0 +1,251 @@
+@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);
+
+body {
+ padding:50px;
+ font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color:#777;
+ font-weight:300;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color:#222;
+ margin:0 0 20px;
+}
+
+p, ul, ol, table, pre, dl {
+ margin:0 0 20px;
+}
+
+h1, h2, h3 {
+ line-height:1.1;
+}
+
+h1 {
+ font-size:28px;
+}
+
+h2 {
+ color:#393939;
+}
+
+h3, h4, h5, h6 {
+ color:#494949;
+}
+
+a {
+ color:#39c;
+ font-weight:400;
+ text-decoration:none;
+}
+
+a small {
+ font-size:11px;
+ color:#777;
+ margin-top:-0.6em;
+ display:block;
+}
+
+.wrapper {
+ width:860px;
+ margin:0 auto;
+}
+
+blockquote {
+ border-left:1px solid #e5e5e5;
+ margin:0;
+ padding:0 0 0 20px;
+ font-style:italic;
+}
+
+code, pre {
+ font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;
+ color:#333;
+ font-size:12px;
+}
+
+pre {
+ padding:8px 15px;
+ background: #f8f8f8;
+ border-radius:5px;
+ border:1px solid #e5e5e5;
+ overflow-x: auto;
+}
+
+table {
+ width:100%;
+ border-collapse:collapse;
+}
+
+th, td {
+ text-align:left;
+ padding:5px 10px;
+ border-bottom:1px solid #e5e5e5;
+}
+
+dt {
+ color:#444;
+ font-weight:700;
+}
+
+th {
+ color:#444;
+}
+
+img {
+ max-width:100%;
+}
+
+header {
+ width:270px;
+ float:left;
+ position:fixed;
+}
+
+header ul {
+ list-style:none;
+ height:40px;
+
+ padding:0;
+
+ background: #eee;
+ background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
+ background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
+ background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
+ background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
+ background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
+
+ border-radius:5px;
+ border:1px solid #d2d2d2;
+ box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0;
+ width:270px;
+}
+
+header li {
+ width:89px;
+ float:left;
+ border-right:1px solid #d2d2d2;
+ height:40px;
+}
+
+header ul a {
+ line-height:1;
+ font-size:11px;
+ color:#999;
+ display:block;
+ text-align:center;
+ padding-top:6px;
+ height:40px;
+}
+
+strong {
+ color:#222;
+ font-weight:700;
+}
+
+header ul li + li {
+ width:88px;
+ border-left:1px solid #fff;
+}
+
+header ul li + li + li {
+ border-right:none;
+ width:89px;
+}
+
+header ul a strong {
+ font-size:14px;
+ display:block;
+ color:#222;
+}
+
+section {
+ width:500px;
+ float:right;
+ padding-bottom:50px;
+}
+
+small {
+ font-size:11px;
+}
+
+hr {
+ border:0;
+ background:#aaa;
+ height:1px;
+ margin:0 0 20px;
+}
+
+footer {
+ width:270px;
+ float:left;
+ position:fixed;
+ bottom:50px;
+}
+
+@media print, screen and (max-width: 960px) {
+
+ div.wrapper {
+ width:auto;
+ margin:0;
+ }
+
+ header, section, footer {
+ float:none;
+ position:static;
+ width:auto;
+ }
+
+ header {
+ padding-right:320px;
+ }
+
+ section {
+ border:1px solid #e5e5e5;
+ border-width:1px 0;
+ padding:20px 0;
+ margin:0 0 20px;
+ }
+
+ header a small {
+ display:inline;
+ }
+
+ header ul {
+ position:absolute;
+ right:50px;
+ top:52px;
+ }
+}
+
+@media print, screen and (max-width: 720px) {
+ body {
+ word-wrap:break-word;
+ }
+
+ header {
+ padding:0;
+ }
+
+ header ul, header p.view {
+ position:static;
+ }
+}
+
+@media print, screen and (max-width: 480px) {
+ body {
+ padding:15px;
+ }
+
+ header ul {
+ display:none;
+ }
+}
+
+@media print {
+ body {
+ padding:0.4in;
+ font-size:12pt;
+ color:#444;
+ }
+}

0 comments on commit d1601fb

Please sign in to comment.
Something went wrong with that request. Please try again.