public class

APKSigSchemeV2Block

extends Object
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.android.APKSigSchemeV2Block
Known Direct Subclasses

Class Overview

This class represents an APK Signature Scheme v2 Block.

Reference: https://source.android.com/docs/security/features/apksigning/v2

Summary

Nested Classes
class APKSigSchemeV2Block.Attribute  
class APKSigSchemeV2Block.Certificate  
class APKSigSchemeV2Block.Digest  
class APKSigSchemeV2Block.PublicKey  
class APKSigSchemeV2Block.Signature  
class APKSigSchemeV2Block.Signer  
Constants
int SigAlgoId_DSA_SHA2_256 DSA with SHA2-256 digest.
int SigAlgoId_ECDSA_SHA2_256 ECDSA with SHA2-256 digest.
int SigAlgoId_ECDSA_SHA2_512 ECDSA with SHA2-512 digest.
int SigAlgoId_RSASSA_PKCS1_v1_5_SHA2_256 RSASSA-PKCS1-v1_5 with SHA2-256 digest.
int SigAlgoId_RSASSA_PKCS1_v1_5_SHA2_512 RSASSA-PKCS1-v1_5 with SHA2-512 digest.
int SigAlgoId_RSASSA_PSS_SHA2_256 RSASSA-PSS with SHA2-256 digest, SHA2-256 MGF1, 32 bytes of salt, trailer: 0xbc.
int SigAlgoId_RSASSA_PSS_SHA2_512 RSASSA-PSS with SHA2-512 digest, SHA2-512 MGF1, 64 bytes of salt, trailer: 0xbc.
Public Constructors
APKSigSchemeV2Block(ByteBuffer b)
Create and parse a byte buffer containing the raw data of a signature scheme v2 block.
Public Methods
static String algoIdToString(int id)
Convert a signature/digest algorithm id to a human-readable identifier string.
List<APKSigSchemeV2Block.Signer> getSigners()
Retrieve the list of signer blocks.
String toString()
Protected Methods
void parse(int available)
byte[] readBytes(int len)
int readInt()
int readSize()
void skipAndWarnIfNonZero(int len)
void skipBytes(int len)
void verifyZero(int len)
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int SigAlgoId_DSA_SHA2_256

DSA with SHA2-256 digest.

Constant Value: 769 (0x00000301)

public static final int SigAlgoId_ECDSA_SHA2_256

ECDSA with SHA2-256 digest.

Constant Value: 513 (0x00000201)

public static final int SigAlgoId_ECDSA_SHA2_512

ECDSA with SHA2-512 digest.

Constant Value: 514 (0x00000202)

public static final int SigAlgoId_RSASSA_PKCS1_v1_5_SHA2_256

RSASSA-PKCS1-v1_5 with SHA2-256 digest. This is for build systems which require deterministic signatures.

Constant Value: 259 (0x00000103)

public static final int SigAlgoId_RSASSA_PKCS1_v1_5_SHA2_512

RSASSA-PKCS1-v1_5 with SHA2-512 digest. This is for build systems which require deterministic signatures.

Constant Value: 260 (0x00000104)

public static final int SigAlgoId_RSASSA_PSS_SHA2_256

RSASSA-PSS with SHA2-256 digest, SHA2-256 MGF1, 32 bytes of salt, trailer: 0xbc.

Constant Value: 257 (0x00000101)

public static final int SigAlgoId_RSASSA_PSS_SHA2_512

RSASSA-PSS with SHA2-512 digest, SHA2-512 MGF1, 64 bytes of salt, trailer: 0xbc.

Constant Value: 258 (0x00000102)

Public Constructors

public APKSigSchemeV2Block (ByteBuffer b)

Create and parse a byte buffer containing the raw data of a signature scheme v2 block.

Public Methods

public static String algoIdToString (int id)

Convert a signature/digest algorithm id to a human-readable identifier string.

Parameters
id one of SigAlgoId_Xxx.

public List<APKSigSchemeV2Block.Signer> getSigners ()

Retrieve the list of signer blocks.

public String toString ()

Protected Methods

protected void parse (int available)

protected byte[] readBytes (int len)

protected int readInt ()

protected int readSize ()

protected void skipAndWarnIfNonZero (int len)

protected void skipBytes (int len)

protected void verifyZero (int len)