18effa36ca6440604cf10bbc34fba2b60ff304f54Alex Klyubin/*
28effa36ca6440604cf10bbc34fba2b60ff304f54Alex Klyubin * Copyright (C) 2015 The Android Open Source Project
35e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker *
45e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * Licensed under the Apache License, Version 2.0 (the "License");
55e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * you may not use this file except in compliance with the License.
65e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * You may obtain a copy of the License at
75e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker *
88effa36ca6440604cf10bbc34fba2b60ff304f54Alex Klyubin *      http://www.apache.org/licenses/LICENSE-2.0
95e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker *
105e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * Unless required by applicable law or agreed to in writing, software
115e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * distributed under the License is distributed on an "AS IS" BASIS,
125e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * See the License for the specific language governing permissions and
145e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * limitations under the License.
155e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker */
165e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker
175e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubakerpackage android.security.keymaster;
185e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker
195e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubakerimport android.os.Parcel;
205e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubakerimport android.os.Parcelable;
215e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker
225e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker/**
235e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker * @hide
245e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker */
255e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubakerpublic class KeymasterBlob implements Parcelable {
265e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    public byte[] blob;
275e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker
285e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    public KeymasterBlob(byte[] blob) {
295e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker        this.blob = blob;
305e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    }
315e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    public static final Parcelable.Creator<KeymasterBlob> CREATOR = new
325e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker            Parcelable.Creator<KeymasterBlob>() {
335e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker                public KeymasterBlob createFromParcel(Parcel in) {
345e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker                    return new KeymasterBlob(in);
355e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker                }
365e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker
375e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker                public KeymasterBlob[] newArray(int length) {
385e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker                    return new KeymasterBlob[length];
395e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker                }
405e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker            };
415e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker
425e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    protected KeymasterBlob(Parcel in) {
435e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker        blob = in.createByteArray();
445e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    }
455e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker
465e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    @Override
475e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    public int describeContents() {
485e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker        return 0;
495e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    }
505e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker
515e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    @Override
525e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    public void writeToParcel(Parcel out, int flags) {
535e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker        out.writeByteArray(blob);
545e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker    }
555e73c0eec2bc77222a5a87fb2a135d8303836411Chad Brubaker}
56