diff --git a/cr_generate_id.h b/cr_generate_id.h index 29970b8..7dcf427 100644 --- a/cr_generate_id.h +++ b/cr_generate_id.h @@ -137,6 +137,81 @@ #define CR_GENID_ERROR_ERR_BUF_SIZE (-20) #define CR_GENID_ERROR_PRIVKEY_SCRAMBLE (-21) +// HSM処理に伴う追加コード +#define CR_GENID_ERROR_ACCESS_DENIED // Status_AccessDenied : 処理と鍵のACLの不一致に伴うエラー +#define CR_GENID_ERROR_USE_LIMIT // Status_UseLimitExceeded : ACLに定められた使用回数を超えた場合 +#define CR_GENID_ERROR_TIME_LIMIT // Status_TimeLimitExceeded : 処理を行うまでのタイムリミット(これもACL) +#define CR_GENID_ERROR_SIGN_VERIFY // Status_VerifyFailed : 署名の検証に失敗した場合 -> OpenSSLで行うから不要? +#define CR_GENID_ERROR_BAD_TOKEN // Status_BadTokenData : カード、NVRAM、またはRTCの値が不正 +#define CR_GENID_ERROR_NO_MEMORY // Status_NoMemory : (HSMの)メモリを使い果たした -> SEE使うわけではないので不要かも +#define CR_GENID_ERROR_NOT_SUPPORT // Status_UnknownParameter,Status_UnknownFlag,Status_UnknownMechanism : コマンドまたはフラグ、メカニズム(暗号アルゴリズムなど)をサポートしていない、ECC系で出そう? +#define CR_GENID_ERROR_KEY_TYPE // Status_BlobTypeUnknown : kmdataを認識出来ない -> HDDの不具合で発生しうる? +#define CR_GENID_ERROR_BUFFER_FULL // Status_BufferFull : 固定長バッファを使い果たした -> 引数のバッファの話か? +#define CR_GENID_ERROR_HSM_RESET // Status_UnitReset : コマンド処理中にHSMリセット発生 -> 異常系 +#define CR_GENID_ERROR_PARAM_INVALID // Status_InvalidParameter : 矛盾したパラメータ設定 +#define CR_GENID_ERROR_STATUS_INVALID // Status_InvalidState : モジュール、あるいはAPIのレベル(e.g. Fips)がリクエストされたコマンドを実行できる状態にない +#define CR_GENID_ERROR_TOKEN_ASSEMBLE // Status_TokenAssemblyFailed : トークンの再構築に失敗した -> セットアップの時のみ? +#define CR_GENID_ERROR_KEY_NOT_FOUND // Status_UnknownKM : HSMキーが見付からない +#define CR_GENID_ERROR_HSM_DEC // Status_DecryptFailed : 復号化に失敗した +#define CR_GENID_ERROR_PRAM_OUTOFRANGE // Status_OutOfRange : パラメータが範囲外 +#define CR_GENID_ERROR_PRIVILEGED_COMMAND // Status_PrivilegedCommand : 非特権接続において特権コマンドを発行 -> 本プログラムでは発生するようなコマンドはない(はず) +#define CR_GENID_ERROR_KEY_HASH // Status_UnknownKeyHash : 鍵のハッシュとモジュール内のハッシュが一致しない -> 改竄 or HDD関連異常 +#define CR_GENID_ERROR_HSM_ENC // Status_EncryptFailed : 暗号化に失敗した +#define CR_GENID_ERROR_ACL_INVALID // Status_InvalidACL : ACLに矛盾が起きている -> セットアップ時のみ +#define CR_GENID_ERROR_HSM_FAILED // Status_HardwareFailed : HSMハードエラー +#define CR_GENID_ERROR_SERVER_STOPPED // Status_ServerNotRunning : サーバが動作していない +#define CR_GENID_ERROR_OS_ERROR // Status_OSErrorErrno : OSがHSMとプログラムの通信を遂行できない +#define CR_GENID_ERROR_TRANSACT_NOT_FOUND // Status_TransactionNotFound : NFastApp_Query or NFastApp_Wait で待つべきトランザクションが無かった -> 今は使っていないので不要 +#define CR_GENID_ERROR_CONNECTION_LOST // Status_ServerConnectionLost : HSMと通信するためのサーバとの接続が切れた。エラーが多発すると発生するとのこと +#define CR_GENID_ERROR_CONNECTION_FAILED // Status_ServerFailed : HSMと通信するためのサーバで internal software エラーが発生。クライアント側の不正行為が原因 +#define CR_GENID_ERROR_FIPS_MODE // Status_StrictFIPS140 : strict FIPSモードで許可されていない操作を行った -> nShield500では strict FIPSモードが無いはずなので、不要? +#define CR_GENID_ERROR_UNKNOWN_CODE // Status_UnknownStatus : サーバとHSM間のバージョン違いでステータスコードに齟齬が発生 -> たぶん発生しない +#define CR_GENID_ERROR_HSM_CANCELLED // Status_Cancelled : HSMの障害・リセットが起きそうなため、コマンド発行がキャンセルされた -> HSMの故障? +#define CR_GENID_ERROR_CHANNEL_TYPE // Status_UnsupportedChannelType : オープンしようとしたチャンネルのタイプをサポートしてない -> 今はチャンネルを使っていないが、今後使う可能背あり +#define CR_GENID_ERROR_BIGNUMOP_ARITHMETIC // Status_ArithmeticError : Bignum操作コマンドで 0 で割るような不正な計算を行おうとした +#define CR_GENID_ERROR_BIGNUMOP_STACK_OVERFLOW // Status_OpStackOverflow : Bignum操作コマンドよりスタックのエントリ数を超えるPushを行おうとした +#define CR_GENID_ERROR_BIGNUMOP_STACK_UNDERFLOW // Status_OpStackUnderflow : Bignum操作コマンドより空スタックからPopを行おうとした +#define CR_GENID_ERROR_BIGNUMOP_NEGATIVE // Status_NegativeResult : Bignum操作コマンドの結果に負の値があった(かつ、AllowNegtiveフラグがセットされていなかった) +#define CR_GENID_ERROR_BIGNUMOP_NOUPCALL // Status_NoUpCall : Bignum操作が必要なコマンドが呼ばれたとき、Bignum操作関数が登録されていなかった -> NFastApp_SetBignumUpcalls() が必要 +#define CR_GENID_ERROR_SOFTWARE_FAILED // Status_SoftwareFailed : ホストソフトウェアで起きたエラー -> netHSM関連? +#define CR_GENID_ERROR_NO_HOST_MEMORY // Status_NoHostMemory : ホストメモリを使い果たした -> netHSM関連? +#define CR_GENID_ERROR_NO_MODULE_MEMORY // Status_NoModuleMemory : HSMメモリを使い果たした -> netHSM関連? +#define CR_GENID_ERROR_OPERATION_FAILED // Status_OperationFailed : nCipherサーバで不正な操作が発行された -> netHSM関連? +#define CR_GENID_ERROR_NC_ERR // Status_nCErrno : OSエラー -> netHSMのOSのエラーか? +#define CR_GENID_ERROR_NO_PERMID // Status_UnknownPermID : 割り当てられていないPermID +#define CR_GENID_ERROR_OP_TIMEOUT // Status_OperationTimeout : モジュールに設定されているtimelimit以内にコマンドが完了しなかった -> key の time limit とはまた別? +#define CR_GENID_ERROR_UNKNOWN_KEY // Status_UnknownKey : 鍵がモジュール内で見付からなかった +#define CR_GENID_ERROR_KEY_LOAD // Status_KeyNotLoaded : リクエストされた鍵が見付からなかった(NFKMライブラリ) +#define CR_GENID_ERROR_HSM_NOUSABLE // Status_NoUsableModules : 利用可能なモジュールが存在しない(NFKMライブラリ) +#define CR_GENID_ERROR_WORLD_UNUSABLE // Status_WorldUnsable : 現在のセキュリティワールドが使用不可である。 +#define CR_GENID_ERROR_MANY_LINKS // Status_TooManyLinks : Blobを読み込もうとしたとき、モジュールの許可する以上(5)の多くのエイリアスが存在した +#define CR_GENID_ERROR_USELIMIT_UNAVAILABLE // Status_UseLimitsUnavailable : 鍵が適切なUSE LIMITを持っていない +#define CR_GENID_ERROR_HSM_BUSY // Status_Busy : モジュールが処理中である。 -> これは発生しない?(はず) +#define CR_GENID_ERROR_MODULE_UNUSABLE // Status_ModuleNotUsable : モジュールが利用不可である。(NFKMライブラリ) +#define CR_GENID_ERROR_REPLY_MISMATCH // Status_CommandReplyMismatch = 238, : reply が command と一致しない。 +#define CR_GENID_ERROR_CONFLICT_PARAM // Status_ConflictingParameters = 239, : パラメータが衝突している。(データベース?) +#define CR_GENID_ERROR_DATA_MISMATCH // Status_DataMismatch = 240, : データベース?のデータが予期していたデータとマッチしない。 +#define CR_GENID_ERROR_KEY_NOACTIVE // Status_NoActiveKey = 242, : 鍵を鍵束からロードしようとしたが、その鍵束は現在ハンドリングされていないものである。 +#define CR_GENID_ERROR_NOGROUP_PERM // Status_NoGroupPermission = 244, : エンドポイント?が鍵をフェッチしようとしたが、適切なグループパーミッションが見付からなかった +#define CR_GENID_ERROR_STRICT_FIPS // Status_StrictFIPSSecurityLevel = 275, : strict FIPSモードで許可されていない処理を行った +#define CR_GENID_ERROR_TIME_OUTOFRANGE // Status_TimeOutOfRange = 283, : Time が time_tの値の範囲を超えた -> 何の Time? +#define CR_GENID_ERROR_STATUS_MAX // Status__Max = 288 : HSM のエラーコードの最大値 + + +// 詳細不明 +// Status_HostDataInvalid = 70, +// Status_HostDataAccessFailed = 71, +// Status_HostDataAccessDenied = 86, +// Status_InvalidMergedKey = 87, +// Status_AlreadyExists = 88, +// Status_UserCancelled = 131, +// Status_HostUnknownKeyType = 133, +// Status_IncorrectRepositoryName = 134, +// Status_SecurityWorldFeatureDisabled = 143, +// Status_UnknownESN = 213, + + + #ifdef __cplusplus extern "C" { #endif