# Class: com.pnfsoftware.jeb.core.units.code.android.APKSigSchemeV2Block

This class represents an `APK Signature Scheme v2 Block`. 

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

## Constructor: APKSigSchemeV2Block
- parameter: `b`, type: `java.nio.ByteBuffer`

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

## Static Field: SigAlgoId_DSA_SHA2_256
Type: `int`

Constant value: `769`
Description: DSA with SHA2\-256 digest.

## Static Field: SigAlgoId_ECDSA_SHA2_256
Type: `int`

Constant value: `513`
Description: ECDSA with SHA2\-256 digest.

## Static Field: SigAlgoId_ECDSA_SHA2_512
Type: `int`

Constant value: `514`
Description: ECDSA with SHA2\-512 digest.

## Static Field: SigAlgoId_RSASSA_PKCS1_v1_5_SHA2_256
Type: `int`

Constant value: `259`
Description: RSASSA\-PKCS1\-v1\_5 with SHA2\-256 digest. This is for build systems which require deterministic signatures.

## Static Field: SigAlgoId_RSASSA_PKCS1_v1_5_SHA2_512
Type: `int`

Constant value: `260`
Description: RSASSA\-PKCS1\-v1\_5 with SHA2\-512 digest. This is for build systems which require deterministic signatures.

## Static Field: SigAlgoId_RSASSA_PSS_SHA2_256
Type: `int`

Constant value: `257`
Description: RSASSA\-PSS with SHA2\-256 digest, SHA2\-256 MGF1, 32 bytes of salt, trailer: 0xbc.

## Static Field: SigAlgoId_RSASSA_PSS_SHA2_512
Type: `int`

Constant value: `258`
Description: RSASSA\-PSS with SHA2\-512 digest, SHA2\-512 MGF1, 64 bytes of salt, trailer: 0xbc.

## Method: getSigners
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.android.APKSigSchemeV2Block.Signer>`

Description: Retrieve the list of `signer` blocks.
return: the signer blocks

## Protected Method: parse
- parameter: `available`, type: `int`

Description: Parse signer records from the current buffer.
parameter: available: number of bytes available in the block

## Protected Method: readBytes
- parameter: `len`, type: `int`
- return type: `byte[]`

Description: Read a sequence of bytes.
parameter: len: number of bytes to read
return: the bytes read from the buffer

## Protected Method: readInt
- return type: `int`

Description: Read a signed 32\-bit integer.
return: the integer value

## Protected Method: readSize
- return type: `int`

Description: Read a length\-prefixed record size.
return: the record size in bytes

## Protected Method: skipAndWarnIfNonZero
- parameter: `len`, type: `int`

Description: Skip remaining bytes and log a trace message if the record is not exhausted.
parameter: len: remaining byte count

## Protected Method: skipBytes
- parameter: `len`, type: `int`

Description: Skip bytes from the current buffer position.
parameter: len: number of bytes to skip

## Method: toString
- return type: `java.lang.String`


## Protected Method: verifyZero
- parameter: `len`, type: `int`

Description: Verify that no bytes remain in the current record.
parameter: len: remaining byte count

## Static Method: algoIdToString
- parameter: `id`, type: `int`
- return type: `java.lang.String`

Description: Convert a signature/digest algorithm id to a human\-readable identifier string.
parameter: id: one of `SigAlgoId_Xxx`.
return: the algorithm name

