CTR-Pia
5.4.3
Game Communication Engine
メインページ
ネームスペース一覧
クラス構成
クラス索引
関連ページ
Result 検索
全て
クラス
ネームスペース
関数
変数
型定義
列挙型
列挙型の値
ページ
common_SignatureSetting.h
1
/*--------------------------------------------------------------------------------*
2
Copyright (C)Nintendo All rights reserved.
3
4
These coded instructions, statements, and computer programs contain proprietary
5
information of Nintendo and/or its licensed developers and are protected by
6
national and international copyright laws. They may not be disclosed to third
7
parties or copied or duplicated in any form, in whole or in part, without the
8
prior written consent of Nintendo.
9
10
The content herein is highly confidential and should be handled accordingly.
11
*--------------------------------------------------------------------------------*/
12
13
14
#pragma once
15
16
#include <nn/pia/common/common_Definitions.h>
17
18
19
namespace
nn
20
{
21
namespace
pia
22
{
23
namespace
common
24
{
25
26
27
/*!
28
@brief 署名の設定情報を保持するクラスです。
29
30
*/
31
class
SignatureSetting
32
{
33
public
:
34
static
const
uint32_t
SignatureKeyDataSizeMax
= 32;
//!< 署名に用いられる鍵データの最大バイト数です。
35
36
/*!
37
@brief 署名アルゴリズムの種類を表します。
38
*/
39
enum
Mode
40
{
41
Mode_Nothing
= 0,
//!< 署名無し
42
Mode_HmacMd5
//!< HMAC-MD5 による署名
43
};
44
45
46
/*!
47
@brief コンストラクタです。署名アルゴリズムと鍵を指定して初期化します。
48
49
@param[in] mode 署名アルゴリズムの種類を指定します。
50
@param[in] cpKeyData 鍵データのアドレスを設定します。このインスタンスが無くなるか再設定されるまで、参照先のデータの寿命を維持する必要があります。
51
@param[in] keySize 鍵データのサイズ(バイト数)を指定します。
52
*/
53
SignatureSetting
(
Mode
mode,
const
void
* cpKeyData, uint32_t keySize);
54
55
56
/*!
57
@brief コンストラクタです。鍵を指定して既定のアルゴリズム(HMAC-MD5)で初期化します。
58
59
@param[in] cpKeyData 鍵データのアドレスを設定します。このインスタンスが無くなるか再設定されるまで、参照先のデータの寿命を維持する必要があります。
60
@param[in] keySize 鍵データのサイズ(バイト数)を指定します。
61
*/
62
SignatureSetting
(
const
void
* cpKeyData, uint32_t keySize);
63
64
65
/*!
66
@brief コンストラクタです。署名なしとして初期化します。
67
*/
68
SignatureSetting
()
69
: m_Mode(
Mode_Nothing
), m_cpKeyData(NULL), m_KeySize(0)
70
{
71
}
72
73
/*!
74
@brief デストラクタです。
75
*/
76
virtual
~SignatureSetting
()
77
{
78
}
79
80
/*!
81
@brief 署名の設定を指定します。
82
83
@param[in] mode 署名アルゴリズムの種類を指定します。
84
@param[in] cpKeyData 鍵データのアドレスを設定します。このインスタンスが無くなるか再設定されるまで、参照先のデータの寿命を維持する必要があります。
85
@param[in] keySize 鍵データのサイズ(バイト数)を指定します。
86
87
@return 正しく設定された場合、成功を表す Result が返されます。
88
@retval ResultInvalidArgument 引数の指定が不正です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
89
*/
90
Result
Set
(
Mode
mode,
const
void
* cpKeyData, uint32_t keySize);
91
92
93
/*!
94
@brief 指定されている署名アルゴリズムを取得します。
95
@return 指定されている署名アルゴリズムです。
96
*/
97
Mode
GetMode
()
const
98
{
99
return
m_Mode;
100
}
101
102
103
/*!
104
@brief 指定されている鍵データのアドレスを取得します。
105
@return 指定されている鍵データのアドレスです。
106
*/
107
const
void
*
GetKeyData
()
const
108
{
109
return
m_cpKeyData;
110
}
111
112
113
/*!
114
@brief 指定されている鍵データのサイズを取得します。
115
@return 指定されている鍵データのサイズ(バイト数)です。
116
*/
117
uint32_t
GetKeySize
()
const
118
{
119
return
m_KeySize;
120
}
121
122
virtual
void
Trace
(uint64_t flag)
const
;
123
124
/*!
125
@brief 署名なしを表す署名設定クラスのインスタンスです。
126
*/
127
static
const
SignatureSetting
NoSignature
;
128
129
private
:
130
Mode
m_Mode;
131
const
void
* m_cpKeyData;
132
uint32_t m_KeySize;
133
};
134
}
135
}
136
}
// end of namespace nn::pia::common
Include
nn
pia
common
common_SignatureSetting.h
© 2016 Nintendo Co., Ltd. All rights reserved. 記載されている会社名、製品名等は、各社の登録商標または商標です。