1cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin/*
2cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * Copyright (C) 2015 The Android Open Source Project
3cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin *
4cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * Licensed under the Apache License, Version 2.0 (the "License");
5cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * you may not use this file except in compliance with the License.
6cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * You may obtain a copy of the License at
7cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin *
8cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin *      http://www.apache.org/licenses/LICENSE-2.0
9cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin *
10cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * Unless required by applicable law or agreed to in writing, software
11cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * distributed under the License is distributed on an "AS IS" BASIS,
12cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * See the License for the specific language governing permissions and
14cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin * limitations under the License.
15cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin */
16cc21bb3a56915842b545a577d3481047005b1764Alex Klyubin
17d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubinpackage android.security;
18d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin
19d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin/**
20b4834ae3fa09e8013f7ab743a12def063ae999e3Alex Klyubin * KeyStore/keymaster exception with positive error codes coming from the KeyStore and negative
21b4834ae3fa09e8013f7ab743a12def063ae999e3Alex Klyubin * ones from keymaster.
22d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin *
23d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin * @hide
24d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin */
25b4834ae3fa09e8013f7ab743a12def063ae999e3Alex Klyubinpublic class KeyStoreException extends Exception {
26d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin
274ab8ea4498aa25eafdbaadd238fed6eab3f6ee59Alex Klyubin    private final int mErrorCode;
284ab8ea4498aa25eafdbaadd238fed6eab3f6ee59Alex Klyubin
29b4834ae3fa09e8013f7ab743a12def063ae999e3Alex Klyubin    public KeyStoreException(int errorCode, String message) {
30d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin        super(message);
314ab8ea4498aa25eafdbaadd238fed6eab3f6ee59Alex Klyubin        mErrorCode = errorCode;
324ab8ea4498aa25eafdbaadd238fed6eab3f6ee59Alex Klyubin    }
334ab8ea4498aa25eafdbaadd238fed6eab3f6ee59Alex Klyubin
344ab8ea4498aa25eafdbaadd238fed6eab3f6ee59Alex Klyubin    public int getErrorCode() {
354ab8ea4498aa25eafdbaadd238fed6eab3f6ee59Alex Klyubin        return mErrorCode;
36d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin    }
37d23a1f706f0c24fade1a1c2f604009a7c9e70002Alex Klyubin}
38