nstool/lib/libhac/include/nn/hac/nrr.h

39 lines
784 B
C
Raw Normal View History

2018-06-04 04:00:28 +00:00
#pragma once
#include <fnd/types.h>
#include <crypto/rsa.h>
2018-08-07 07:17:51 +00:00
#include <nn/hac/macro.h>
2018-06-04 04:00:28 +00:00
2018-08-07 07:17:51 +00:00
namespace nn
{
namespace hac
2018-06-04 04:00:28 +00:00
{
namespace nrr
{
static const uint32_t kNrrStructMagic = _MAKE_STRUCT_MAGIC_U32("NRR0");
2018-06-04 04:00:28 +00:00
}
#pragma pack(push,1)
struct sNrrCertificate
{
le_uint64_t application_id_mask;
le_uint64_t application_id_pattern;
byte_t nrr_body_modulus[crypto::rsa::kRsa2048Size];
byte_t nrr_cert_signature[crypto::rsa::kRsa2048Size];
};
struct sNrrHeader
{
le_uint32_t st_magic;
2018-06-04 04:00:28 +00:00
byte_t reserved_0[28];
sNrrCertificate certificate;
byte_t nrr_body_signature[crypto::rsa::kRsa2048Size];
le_uint64_t application_id;
le_uint32_t size;
byte_t reserved_1[4];
le_uint32_t hash_offset;
le_uint32_t hash_count;
byte_t reserved_2[8];
};
#pragma pack(pop)
}
2018-08-07 07:17:51 +00:00
}