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