| Index: java/io/netty/internal/tcnative/SessionTicketKey.java
|
| diff --git a/java/src/org/apache/tomcat/jni/SessionTicketKey.java b/java/io/netty/internal/tcnative/SessionTicketKey.java
|
| similarity index 59%
|
| rename from java/src/org/apache/tomcat/jni/SessionTicketKey.java
|
| rename to java/io/netty/internal/tcnative/SessionTicketKey.java
|
| index 12e75a02770e09ffdcf44d83fb3d4e7f275321ab..92833a7c0f4327372d1cd501752bbee8823a0fb0 100644
|
| --- a/java/src/org/apache/tomcat/jni/SessionTicketKey.java
|
| +++ b/java/io/netty/internal/tcnative/SessionTicketKey.java
|
| @@ -1,21 +1,20 @@
|
| /*
|
| - * Licensed to the Apache Software Foundation (ASF) under one or more
|
| - * contributor license agreements. See the NOTICE file distributed with
|
| - * this work for additional information regarding copyright ownership.
|
| - * The ASF licenses this file to You 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
|
| + * Copyright 2016 The Netty Project
|
| *
|
| - * http://www.apache.org/licenses/LICENSE-2.0
|
| + * The Netty Project licenses this file to you 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:
|
| *
|
| - * 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.
|
| + * 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.
|
| */
|
|
|
| -package org.apache.tomcat.jni;
|
| +package io.netty.internal.tcnative;
|
|
|
| /**
|
| * Session Ticket Key
|
| @@ -34,29 +33,30 @@ public final class SessionTicketKey {
|
| */
|
| public static final int AES_KEY_SIZE = 16;
|
| /**
|
| - * Size of session ticker key
|
| + * Size of session ticket key
|
| */
|
| public static final int TICKET_KEY_SIZE = NAME_SIZE + HMAC_KEY_SIZE + AES_KEY_SIZE;
|
|
|
| - private final byte[] name;
|
| - private final byte[] hmacKey;
|
| - private final byte[] aesKey;
|
| + // package private so we can access these in SSLContext without calling clone() on the byte[].
|
| + final byte[] name;
|
| + final byte[] hmacKey;
|
| + final byte[] aesKey;
|
|
|
| /**
|
| - * Construct SesionTicketKey.
|
| + * Construct SessionTicketKey.
|
| * @param name the name of the session ticket key
|
| * @param hmacKey the HMAC key of the session ticket key
|
| * @param aesKey the AES key of the session ticket key
|
| */
|
| public SessionTicketKey(byte[] name, byte[] hmacKey, byte[] aesKey) {
|
| if (name == null || name.length != NAME_SIZE) {
|
| - throw new IllegalArgumentException("Length of name should be 16");
|
| + throw new IllegalArgumentException("Length of name should be " + NAME_SIZE);
|
| }
|
| if (hmacKey == null || hmacKey.length != HMAC_KEY_SIZE) {
|
| - throw new IllegalArgumentException("Length of hmacKey should be 16");
|
| + throw new IllegalArgumentException("Length of hmacKey should be " + HMAC_KEY_SIZE);
|
| }
|
| if (aesKey == null || aesKey.length != AES_KEY_SIZE) {
|
| - throw new IllegalArgumentException("Length of aesKey should be 16");
|
| + throw new IllegalArgumentException("Length of aesKey should be " + AES_KEY_SIZE);
|
| }
|
| this.name = name;
|
| this.hmacKey = hmacKey;
|
| @@ -65,10 +65,11 @@ public final class SessionTicketKey {
|
|
|
| /**
|
| * Get name.
|
| + *
|
| * @return the name of the session ticket key
|
| */
|
| public byte[] getName() {
|
| - return name;
|
| + return name.clone();
|
| }
|
|
|
| /**
|
| @@ -76,7 +77,7 @@ public final class SessionTicketKey {
|
| * @return the HMAC key of the session ticket key
|
| */
|
| public byte[] getHmacKey() {
|
| - return hmacKey;
|
| + return hmacKey.clone();
|
| }
|
|
|
| /**
|
| @@ -84,6 +85,6 @@ public final class SessionTicketKey {
|
| * @return the AES key of the session ticket key
|
| */
|
| public byte[] getAesKey() {
|
| - return aesKey;
|
| + return aesKey.clone();
|
| }
|
| }
|
|
|