| /** |
| * Copyright 2017 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| ************************************************************************** |
| */ |
| |
| #import "objc/TINKDeterministicAeadKeyTemplate.h" |
| |
| #import <XCTest/XCTest.h> |
| |
| #import "objc/TINKKeyTemplate.h" |
| #import "objc/core/TINKKeyTemplate_Internal.h" |
| #import "objc/util/TINKProtoHelpers.h" |
| #import "proto/AesSiv.pbobjc.h" |
| #import "proto/Common.pbobjc.h" |
| #import "proto/Tink.pbobjc.h" |
| |
| @interface TINKDeterministicAeadKeyTemplatesTest : XCTestCase |
| @end |
| |
| @implementation TINKDeterministicAeadKeyTemplatesTest |
| |
| - (void)testAesSivKeyTemplates { |
| static NSString *const kTypeURL = @"type.googleapis.com/google.crypto.tink.AesSivKey"; |
| |
| NSError *error = nil; |
| // AES-256 SIV |
| TINKDeterministicAeadKeyTemplate *tpl = |
| [[TINKDeterministicAeadKeyTemplate alloc] initWithKeyTemplate:TINKAes256Siv error:&error]; |
| XCTAssertNil(error); |
| XCTAssertNotNil(tpl); |
| |
| error = nil; |
| TINKPBKeyTemplate *keyTemplate = TINKKeyTemplateToObjc(tpl.ccKeyTemplate, &error); |
| XCTAssertNil(error); |
| XCTAssertNotNil(keyTemplate); |
| |
| XCTAssertTrue([kTypeURL isEqualToString:keyTemplate.typeURL]); |
| XCTAssertTrue(keyTemplate.outputPrefixType == TINKPBOutputPrefixType_Tink); |
| error = nil; |
| TINKPBAesSivKeyFormat *keyFormat = [TINKPBAesSivKeyFormat parseFromData:keyTemplate.value |
| error:&error]; |
| XCTAssertNil(error); |
| XCTAssertNotNil(keyFormat); |
| XCTAssertTrue(64 == keyFormat.keySize); |
| } |
| |
| @end |