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(); |
} |
} |