Documentation ¶
Index ¶
- Constants
- Variables
- func GenerateCipherSecret(pubKeBytes []byte, plainSecret []byte) ([]byte, error)
- func GeneratePlainSecret() ([]byte, error)
- func GenerateSig(key sec.SignKey, hash []byte) ([]byte, error)
- func GenerateSigEc(key sec.SignKey, hash []byte) ([]byte, error)
- func GenerateSigRsa(key sec.SignKey, hash []byte) ([]byte, error)
- func ImageTlvTypeIsSig(tlvType uint8) bool
- func ImageTlvTypeName(tlvType uint8) string
- type ECDSASig
- type Image
- func (i *Image) FindTlvs(tlvType uint8) []ImageTlv
- func (i *Image) FindUniqueTlv(tlvType uint8) (*ImageTlv, error)
- func (i *Image) Hash() ([]byte, error)
- func (img *Image) Json() (string, error)
- func (img *Image) Map() (map[string]interface{}, error)
- func (i *Image) Offsets() (ImageOffsets, error)
- func (i *Image) RemoveTlvsIf(pred func(tlv ImageTlv) bool) []ImageTlv
- func (i *Image) RemoveTlvsWithType(tlvType uint8) []ImageTlv
- func (i *Image) TotalSize() (int, error)
- func (img *Image) Trailer() ImageTrailer
- func (i *Image) Write(w io.Writer) (int, error)
- func (i *Image) WritePlusOffsets(w io.Writer) (ImageOffsets, error)
- func (i *Image) WriteToFile(filename string) error
- type ImageCreateOpts
- type ImageCreator
- type ImageHdr
- type ImageHdrV1
- type ImageOffsets
- type ImageTlv
- type ImageTlvHdr
- type ImageTrailer
- type ImageV1
- func (img *ImageV1) FindTlvs(tlvType uint8) []ImageTlv
- func (img *ImageV1) Hash() ([]byte, error)
- func (img *ImageV1) Offsets() (ImageOffsets, error)
- func (img *ImageV1) TotalSize() (int, error)
- func (img *ImageV1) Write(w io.Writer) (int, error)
- func (img *ImageV1) WritePlusOffsets(w io.Writer) (ImageOffsets, error)
- type ImageVersion
Constants ¶
View Source
const ( IMAGE_MAGIC = 0x96f3b83d /* Image header magic */ IMAGE_TRAILER_MAGIC = 0x6907 /* Image tlv info magic */ )
View Source
const ( IMAGE_HEADER_SIZE = 32 IMAGE_TRAILER_SIZE = 4 IMAGE_TLV_SIZE = 4 /* Plus `value` field. */ )
View Source
const ( IMAGE_F_PIC = 0x00000001 IMAGE_F_NON_BOOTABLE = 0x00000002 /* non bootable image */ IMAGE_F_ENCRYPTED = 0x00000004 /* encrypted image */ )
* Image header flags.
View Source
const ( IMAGE_TLV_KEYHASH = 0x01 IMAGE_TLV_SHA256 = 0x10 IMAGE_TLV_RSA2048 = 0x20 IMAGE_TLV_ECDSA224 = 0x21 IMAGE_TLV_ECDSA256 = 0x22 IMAGE_TLV_ENC_RSA = 0x30 IMAGE_TLV_ENC_KEK = 0x31 )
* Image trailer TLV types.
View Source
const ( IMAGEv1_F_PIC = 0x00000001 IMAGEv1_F_SHA256 = 0x00000002 /* Image contains hash TLV */ IMAGEv1_F_PKCS15_RSA2048_SHA256 = 0x00000004 /* PKCS15 w/RSA2048 and SHA256 */ IMAGEv1_F_ECDSA224_SHA256 = 0x00000008 /* ECDSA224 over SHA256 */ IMAGEv1_F_NON_BOOTABLE = 0x00000010 /* non bootable image */ IMAGEv1_F_ECDSA256_SHA256 = 0x00000020 /* ECDSA256 over SHA256 */ IMAGEv1_F_PKCS1_PSS_RSA2048_SHA256 = 0x00000040 /* RSA-PSS w/RSA2048 and SHA256 */ )
View Source
const ( IMAGEv1_TLV_SHA256 = 1 IMAGEv1_TLV_RSA2048 = 2 IMAGEv1_TLV_ECDSA224 = 3 IMAGEv1_TLV_ECDSA256 = 4 )
View Source
const IMAGEv1_MAGIC = 0x96f3b83c /* Image header magic */
Variables ¶
View Source
var UseRsaPss = false
Set this to enable RSA-PSS for RSA signatures, instead of PKCS#1 v1.5. Eventually, this should be the default.
Functions ¶
func GenerateCipherSecret ¶
func GeneratePlainSecret ¶
func ImageTlvTypeIsSig ¶
func ImageTlvTypeName ¶
Types ¶
type Image ¶
func GenerateImage ¶
func GenerateImage(opts ImageCreateOpts) (Image, error)
func ParseImage ¶
func (*Image) Offsets ¶
func (i *Image) Offsets() (ImageOffsets, error)
func (*Image) RemoveTlvsWithType ¶
func (*Image) Trailer ¶
func (img *Image) Trailer() ImageTrailer
func (*Image) WritePlusOffsets ¶
func (i *Image) WritePlusOffsets(w io.Writer) (ImageOffsets, error)
func (*Image) WriteToFile ¶
type ImageCreateOpts ¶
type ImageCreator ¶
type ImageCreator struct { Body []byte Version ImageVersion SigKeys []sec.SignKey PlainSecret []byte CipherSecret []byte HeaderSize int InitialHash []byte Bootable bool }
func NewImageCreator ¶
func NewImageCreator() ImageCreator
func (*ImageCreator) Create ¶
func (ic *ImageCreator) Create() (Image, error)
func (*ImageCreator) CreateV1 ¶
func (ic *ImageCreator) CreateV1() (ImageV1, error)
type ImageHdr ¶
type ImageHdrV1 ¶
type ImageOffsets ¶
type ImageTlv ¶
type ImageTlv struct { Header ImageTlvHdr Data []byte }
func BuildKeyHashTlv ¶
func GenerateEncTlv ¶
type ImageTlvHdr ¶
type ImageTrailer ¶
func (*ImageTrailer) Map ¶
func (t *ImageTrailer) Map(offset int) map[string]interface{}
type ImageV1 ¶
type ImageV1 struct { Header ImageHdrV1 Body []byte Tlvs []ImageTlv }
func GenerateV1Image ¶
func GenerateV1Image(opts ImageCreateOpts) (ImageV1, error)
func (*ImageV1) Offsets ¶
func (img *ImageV1) Offsets() (ImageOffsets, error)
func (*ImageV1) WritePlusOffsets ¶
func (img *ImageV1) WritePlusOffsets(w io.Writer) (ImageOffsets, error)
type ImageVersion ¶
func ParseVersion ¶
func ParseVersion(versStr string) (ImageVersion, error)
func (ImageVersion) String ¶
func (ver ImageVersion) String() string
Click to show internal directories.
Click to hide internal directories.