package apksigner

// Apksigner represents apksigner util
type Apksigner struct {
	binPath string
}

// SignerDN is signer for applications
type SignerDN struct {
	SignerName string //CN
	KeyPath    string
	CertPath   string
}

// VerifyInfo is result of apk verify
type VerifyInfo struct {
	V1           bool            //Has v1 sign
	V2           bool            //Has v2 sign
	V3           bool            //Has v3 sign
	V3_1         bool            //Has v3.1 sign
	V4           bool            //Has v4 sign
	SignInfo     []SignatureInfo //Array with all signatures
	NotProtected []string        //Array with files what not protected by v1 sign
}

// SignatureInfo is information about signature. Single apk can have more than one signature
type SignatureInfo struct {
	MinSdk       int
	MaxSdk       int
	CertDN       map[string]string
	CertSHA256   string
	CertSHA1     string
	CertMD5      string
	KeyAlgorithm string
	KeySize      int
	PubKeySHA256 string
	PubKeySHA1   string
	PubKeyMD5    string
}
