Code Monkey home page Code Monkey logo

zip-signer's Introduction

API and app for signing Zip, Apk, and/or Jar files onboard Android devices.

Details This project is divided into several sub-projects.

zipio-lib, an alternate API to java.util.zip for reading and writing zip files. This library allows entries to be copied directly from the input to output without de-compressing and re-compressing. It also zip-aligns to 4 byte boundaries by default. zipsigner-lib - a file signing library with a simple API and built-in default certificate. As Java code it should work anywhere, but its specifically targeted at Android application developers. Licensed under Apache 2.0. zipsigner-lib-optional - which contains the code required to create a properly formatted CMS/PKCS#7 signature block file from scratch. This JAR is typically required in order to sign with private keys or create self-signed certificates for publishing apps. If you include this file in your project, then you will also need to include the SpongyCastle JARS (sc-light, scprov, and scpkix from http://rtyley.github.com/spongycastle/). SpongyCastle is an Android-friendly version of BouncyCastle. ZipSigner - an Android app that integrates zipsigner-lib and signs files onboard the device. Look for it in the Android Market. Licensed under Apache 2.0. kellinwood-logging-lib - a lightweight, platform-independent logging framework. Licensed under Apache 2.0. kellinwood-logging-android - android adapter for the above logging framework. Licensed under Apache 2.0. There are detailed README files in several of the projects

zipsigner-lib README file zipsigner-lib CHANGELOG file ZipSigner app README file The latest release binaries are available for download in a folder on Google Drive here.

Subversion Checkouts There are currently many sub-projects. Check out the source from Subversion using the following commands. For read-only subversion checkouts, use 'http' protocol instead of 'https'.

svn co https://zip-signer.googlecode.com/svn/zipio-lib/trunk zipio-lib svn co https://zip-signer.googlecode.com/svn/zipsigner-lib/trunk zipsigner-lib svn co https://zip-signer.googlecode.com/svn/ZipSigner/trunk ZipSigner svn co https://zip-signer.googlecode.com/svn/kellinwood-logging-lib/trunk kellinwood-logging-lib svn co https://zip-signer.googlecode.com/svn/kellinwood-logging-android/trunk kellinwood-logging-android Optional checkouts:

svn co https://zip-signer.googlecode.com/svn/zipsigner-cmdline/trunk zipsigner-cmdline svn co https://zip-signer.googlecode.com/svn/kellinwood-logging-log4j/trunk kellinwood-logging-log4j svn co https://zip-signer.googlecode.com/svn/zipsigner-lib-optional/trunk zipsigner-lib-optional Building the Code Check out the code using the Subversion commands above.

Building ZipSigner requires Maven. If you haven't done so already, download and install Maven.

The zip-signer artifacts are not in any public Maven repositories so a few manual steps are required to prime your local repository. If you haven't used Maven before, begin by building kellinwood-logging-lib to force the creation of your local repository, typically ${user.home}/.m2/repository or C:\Documents and Settings<user>.m2\repository on Windows.

cd kellinwood-logging-lib mvn install If this is your first time using Maven, the 'mvn install' command above will cause a bunch of stuff to be downloaded and will take a few minutes.

Next, download and extract the zipsigner-mvn-artifacts-1.x.zip into your local repository. This will make the released artifacts available to Maven, allowing you to skip the builds for projects you don't care about.

Now you can compile and build the main parts of the project...

cd zipio-lib mvn install

cd ../zipsigner-lib mvn install

zip-signer's People

Contributors

wangsongyan avatar

Watchers

James Cloos avatar

zip-signer's Issues

How to build?

It seems as if some artifacts are missing. Maybe to whole thing could be easier 
be compiled without the need to pull the libraries off maven central. 


Original issue reported on code.google.com by [email protected] on 19 Oct 2013 at 2:15

NullPointerException while signing with a BKS keystore

- What steps will reproduce the problem?
1. create a new BKS keystore (with .bks extension)
2. sign an unsigned APK with a key from that keystore
3. A toast with "null" is displayed

- What is the expected output? What do you see instead?
(empty)

- What version of the product are you using? On what operating system?
ZipSigner 3.4 from the the play store
Android 4.2.2 on a Galaxy Nexus

- Please provide any additional information below.
I first got the exception in a little program I am developing. The exception is 
thrown on ZipSigner.signZip()[line 709]. I tested on the Android App available 
on the Play Store and it has the same issue. I succeeded to sing the APK with a 
JKS keystore though.

PS: thanks for such a powerful library!

Original issue reported on code.google.com by [email protected] on 20 Jun 2013 at 12:41

Can i ?

hey , first i want to thank you for your awesome project and hard work :)
i'm trying to make a GUI of some tools ,,
can i include your zip-signer im my project ?!

if yes , i will need to ask some questions 


Original issue reported on code.google.com by auto.ahmedhani on 7 Apr 2013 at 1:55

Impossible to sign zip files in memory

What steps will reproduce the problem?
1. create Map<String, ZioEntry> object by hand:
   a. create new ZioEntry-s
   b. write to its OutputStream
   c. close its OutputStream and InputStream
2. use ZipSigner.signZip(Map<String, ZioEntry>, OutputStream, String)

What is the expected output? What do you see instead?
I expect to get a valid, signed zip file but got this: 
Exception in thread "main" java.lang.NullPointerException
    at kellinwood.zipio.ZioEntryInputStream.<init>(ZioEntryInputStream.java:44)
    at kellinwood.zipio.ZioEntry.getInputStream(ZioEntry.java:468)
    at kellinwood.zipio.ZioEntry.getInputStream(ZioEntry.java:445)
    at kellinwood.security.zipsigner.ZipSigner.addDigestsToManifest(ZipSigner.java:382)
    at kellinwood.security.zipsigner.ZipSigner.signZip(ZipSigner.java:713)

What version of the product are you using? On what operating system?
zioio-lib 1.8, zipsigner-lib 1.17

Please provide any additional information below.
this.raf = entry.getZipInput().in; line is the problem in ZioEntryInputStream 
class

Original issue reported on code.google.com by [email protected] on 15 May 2015 at 9:03

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.