You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2015/09/09 03:36:38 UTC

[17/46] directory-kerby git commit: Fix javadoc errors of kerb-crypto module.

Fix javadoc errors of kerb-crypto module.


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/ec0f46b1
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/ec0f46b1
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/ec0f46b1

Branch: refs/heads/pkinit-support
Commit: ec0f46b1b8603b80543aff359ac09dd524f18235
Parents: 4a60163
Author: plusplusjiajia <ji...@intel.com>
Authored: Mon Aug 24 13:35:30 2015 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Mon Aug 24 13:35:30 2015 +0800

----------------------------------------------------------------------
 .../kerberos/kerb/crypto/EncryptionHandler.java | 115 ++++++++++++++++++-
 .../kerberos/kerb/crypto/fast/FastUtil.java     |  18 ++-
 .../kerb/crypto/key/AbstractKeyMaker.java       |   5 +-
 .../kerberos/kerb/crypto/key/DesKeyMaker.java   |   9 +-
 .../kerberos/kerb/crypto/random/JavaRandom.java |   3 +-
 .../kerb/crypto/random/RandomProvider.java      |   4 +-
 .../kerberos/kerb/crypto/util/Camellia.java     |   8 ++
 .../kerby/kerberos/kerb/crypto/util/Des.java    |   3 +
 .../kerby/kerberos/kerb/crypto/util/Nfold.java  |   5 +-
 9 files changed, 151 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/EncryptionHandler.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/EncryptionHandler.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/EncryptionHandler.java
index bf6408f..7c811ef 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/EncryptionHandler.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/EncryptionHandler.java
@@ -6,16 +6,16 @@
  *  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
- *  
+ *
  *    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.kerby.kerberos.kerb.crypto;
 
@@ -52,34 +52,72 @@ public class EncryptionHandler {
     static {
         try {
             isAES256Enabled = Cipher.getMaxAllowedKeyLength("AES") >= 256;
-        } catch (Exception e) { //NOPMD
+        } catch (Exception e) {
             System.err.println(e);
         }
     }
 
+    /**
+     * @return true if aes256 is enabled
+     */
     public static boolean isAES256Enabled() {
         return isAES256Enabled;
     }
 
+    /**
+     * Get the encryption type.
+     * @param eType The encryption type string.
+     * @return The EncryptionType
+     * @throws KrbException e
+     */
     public static EncryptionType getEncryptionType(String eType) throws KrbException {
         EncryptionType result = EncryptionType.fromName(eType);
         return result;
     }
 
+    /**
+     * Get the encryption handler.
+     *
+     * @param eType The encryption type string
+     * @return The EncTypeHandler
+     * @throws KrbException e
+     */
     public static EncTypeHandler getEncHandler(String eType) throws KrbException {
         EncryptionType result = EncryptionType.fromName(eType);
         return getEncHandler(result);
     }
 
+    /**
+     * Get the encryption handler.
+     *
+     * @param eType The encryption type int
+     * @return The EncTypeHandler
+     * @throws KrbException e
+     */
     public static EncTypeHandler getEncHandler(int eType) throws KrbException {
         EncryptionType eTypeEnum = EncryptionType.fromValue(eType);
         return getEncHandler(eTypeEnum);
     }
 
+    /**
+     * Get the encryption handler.
+     *
+     * @param eType The encryption type
+     * @return The EncTypeHandler
+     * @throws KrbException e
+     */
     public static EncTypeHandler getEncHandler(EncryptionType eType) throws KrbException {
         return getEncHandler(eType, false);
     }
 
+    /**
+     * Get the encryption handler.
+     *
+     * @param eType The encryption type
+     * @param check true if check
+     * @return The EncTypeHandler
+     * @throws KrbException e
+     */
     private static EncTypeHandler getEncHandler(EncryptionType eType,
                                                 boolean check) throws KrbException {
         EncTypeHandler encHandler = null;
@@ -149,6 +187,15 @@ public class EncryptionHandler {
         return encHandler;
     }
 
+    /**
+     * Encrypt with the encryption key and key usage.
+     *
+     * @param plainText The plain test
+     * @param key The encryption key
+     * @param usage The key usage
+     * @return The encrypted data
+     * @throws KrbException e
+     */
     public static EncryptedData encrypt(byte[] plainText, EncryptionKey key,
                                         KeyUsage usage) throws KrbException {
         EncTypeHandler handler = getEncHandler(key.getKeyType());
@@ -162,6 +209,15 @@ public class EncryptionHandler {
         return ed;
     }
 
+    /**
+     * Decrypt with the encryption key and key usage.
+     *
+     * @param data The encrypted data
+     * @param key The encryption key
+     * @param usage The key usage
+     * @return The decrypted data
+     * @throws KrbException e
+     */
     public static byte[] decrypt(byte[] data, EncryptionKey key,
                                  KeyUsage usage) throws KrbException {
         EncTypeHandler handler = getEncHandler(key.getKeyType());
@@ -170,6 +226,15 @@ public class EncryptionHandler {
         return plainData;
     }
 
+    /**
+     * Decrypt with the encryption key and key usage.
+     *
+     * @param data  The encrypted data
+     * @param key   The encryption key
+     * @param usage The key usage
+     * @return The decrypted data
+     * @throws KrbException e
+     */
     public static byte[] decrypt(EncryptedData data, EncryptionKey key,
                                  KeyUsage usage) throws KrbException {
         EncTypeHandler handler = getEncHandler(key.getKeyType());
@@ -179,6 +244,12 @@ public class EncryptionHandler {
         return plainData;
     }
 
+    /**
+     * Return true if the the encryption handler is implemented.
+     *
+     * @param eType   The encryption type
+     * @return true if the encryption handler is implemented
+     */
     public static boolean isImplemented(EncryptionType eType) {
         EncTypeHandler handler = null;
         try {
@@ -189,6 +260,15 @@ public class EncryptionHandler {
         return  handler != null;
     }
 
+    /**
+     * String to key.
+     *
+     * @param principalName  The principal name
+     * @param passPhrase   The pass phrase
+     * @param eType The encryption type
+     * @return The encryption key
+     * @throws KrbException e
+     */
     public static EncryptionKey string2Key(String principalName,
           String passPhrase, EncryptionType eType) throws KrbException {
         PrincipalName principal = new PrincipalName(principalName);
@@ -196,6 +276,16 @@ public class EncryptionHandler {
                 PrincipalName.makeSalt(principal), null, eType);
     }
 
+    /**
+     * String to key.
+     *
+     * @param string The string
+     * @param salt The salt
+     * @param s2kparams The params
+     * @param eType The encryption type
+     * @return The encryption key
+     * @throws KrbException e
+     */
     public static EncryptionKey string2Key(String string, String salt,
                    byte[] s2kparams, EncryptionType eType) throws KrbException {
         EncTypeHandler handler = getEncHandler(eType);
@@ -203,6 +293,13 @@ public class EncryptionHandler {
         return new EncryptionKey(eType, keyBytes);
     }
 
+    /**
+     * Random to key.
+     *
+     * @param eType The encryption type
+     * @return The encryption key
+     * @throws KrbException e
+     */
     public static EncryptionKey random2Key(EncryptionType eType) throws KrbException {
         EncTypeHandler handler = getEncHandler(eType);
 
@@ -212,6 +309,14 @@ public class EncryptionHandler {
         return encKey;
     }
 
+    /**
+     * Random to key.
+     *
+     * @param eType The encryption type
+     * @param randomBytes The random bytes
+     * @return The encryption key
+     * @throws KrbException e
+     */
     public static EncryptionKey random2Key(EncryptionType eType, byte[] randomBytes) throws KrbException {
         EncTypeHandler handler = getEncHandler(eType);
 
@@ -223,7 +328,7 @@ public class EncryptionHandler {
 
     /**
      * Generate a secure and random key seeded with an existing encryption key.
-     * @param encKey
+     * @param encKey The encryption key
      * @return encryption key
      */
     public static EncryptionKey makeSubkey(EncryptionKey encKey) {

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/fast/FastUtil.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/fast/FastUtil.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/fast/FastUtil.java
index 8d1ee31..4644791 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/fast/FastUtil.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/fast/FastUtil.java
@@ -34,9 +34,13 @@ public class FastUtil {
 
     /**
      * Call the PRF function multiple times with the pepper prefixed with
-     * a count byte  to get enough bits of output.
+     * a count byte to get enough bits of output.
+     * @param key The encryption key
+     * @param pepper The pepper
+     * @param keyBytesLen The key bytes length
+     * @return The output byte
+     * @throws KrbException e
      */
-
     public static byte[] prfPlus(EncryptionKey key, String pepper,
                                  int keyBytesLen) throws KrbException {
         byte[] prfInbuf = new byte[pepper.length() + 1];
@@ -72,9 +76,10 @@ public class FastUtil {
 
     /**
      * Make an encryption key for replying.
-     * @param strengthenKey
-     * @param existingKey
+     * @param strengthenKey The strengthen key
+     * @param existingKey The existing key
      * @return encryption key
+     * @throws KrbException e
      */
     public static EncryptionKey makeReplyKey(EncryptionKey strengthenKey,
                                              EncryptionKey existingKey) throws KrbException {
@@ -83,9 +88,10 @@ public class FastUtil {
 
     /**
      * Make an encryption key for armoring.
-     * @param subkey
-     * @param ticketKey
+     * @param subkey The sub key
+     * @param ticketKey The ticket key
      * @return encryption key
+     * @throws KrbException e
      */
     public static EncryptionKey makeArmorKey(EncryptionKey subkey,
                                              EncryptionKey ticketKey) throws KrbException {

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/AbstractKeyMaker.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/AbstractKeyMaker.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/AbstractKeyMaker.java
index f57f21b..fe0275e 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/AbstractKeyMaker.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/AbstractKeyMaker.java
@@ -37,7 +37,10 @@ public abstract class AbstractKeyMaker implements KeyMaker {
     }
 
     /**
-     * Visible for test
+     * Visible for test.
+     * @param password The password
+     * @param salt The salt
+     * @return The password salt
      */
     public static byte[] makePasswdSalt(String password, String salt) {
         char[] chars = new char[password.length() + salt.length()];

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/DesKeyMaker.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/DesKeyMaker.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/DesKeyMaker.java
index b71cf69..c3c87c9 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/DesKeyMaker.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/key/DesKeyMaker.java
@@ -90,6 +90,7 @@ public class DesKeyMaker extends AbstractKeyMaker {
 
     /**
      * Visible for test
+     * {@inheritDoc}
      */
     public static byte[] fanFold(String string, String salt, byte[] paddedBytes) {
         if (paddedBytes == null) {
@@ -117,6 +118,7 @@ public class DesKeyMaker extends AbstractKeyMaker {
 
     /**
      * Visible for test
+     * {@inheritDoc}
      */
     public static byte[] intermediateKey(byte[] fanFoldedKey) {
         byte[] keyBytes = addParityBits(fanFoldedKey);
@@ -140,10 +142,10 @@ public class DesKeyMaker extends AbstractKeyMaker {
     }
 
     /**
-     * To turn a 54-bit block into a 64-bit block, see
+     * To turn a 56-bit block into a 64-bit block, see
      *  Ref. eighth_byte in random_to_key.c in MIT krb5
-     * @param bits56
-     * @return
+     * @param bits56 The 56-bit block
+     * @return The 64-bit block
      */
     private static byte[] getEightBits(byte[] bits56) {
         byte[] bits64 = new byte[8];
@@ -156,6 +158,7 @@ public class DesKeyMaker extends AbstractKeyMaker {
 
     /**
      * Note this isn't hit any test yet, and very probably problematic
+     * {@inheritDoc}
      */
     @Override
     public byte[] random2Key(byte[] randomBits) throws KrbException {

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/JavaRandom.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/JavaRandom.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/JavaRandom.java
index bc20330..91df072 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/JavaRandom.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/JavaRandom.java
@@ -22,7 +22,8 @@ package org.apache.kerby.kerberos.kerb.crypto.random;
 import java.security.SecureRandom;
 
 /**
- * Use jdk SecureRandom to implement RandomProvider, so it can be used on windows & linux.
+ * Use jdk {@link SecureRandom} to implement {@link RandomProvider},
+ * so it can be used on windows and linux.
  */
 
 public class JavaRandom implements RandomProvider {

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/RandomProvider.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/RandomProvider.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/RandomProvider.java
index 7d6b831..0320443 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/RandomProvider.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/random/RandomProvider.java
@@ -31,13 +31,13 @@ public interface RandomProvider {
     void init();
     /**
      * Provide entropy seed for the provider.
-     * @param seed
+     * @param seed The seed
      */
     void setSeed(byte[] seed);
 
     /**
      * Generate random bytes into the specified array.
-     * @param bytes
+     * @param bytes The bytes
      */
     void nextBytes(byte[] bytes);
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Camellia.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Camellia.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Camellia.java
index e2b2950..2690bb2 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Camellia.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Camellia.java
@@ -211,6 +211,10 @@ public class Camellia {
 
     /**
      * CBC encrypt nblocks blocks of data in place, using and updating iv.
+     * @param data The data
+     * @param offset The offset
+     * @param blocksNum The block number
+     * @param cipherState The cipher state
      */
     public void cbcEnc(byte[] data, int offset, int blocksNum, byte[] cipherState) {
         byte[] cipher = new byte[BLOCK_SIZE];
@@ -225,6 +229,10 @@ public class Camellia {
 
     /**
      * CBC encrypt nblocks blocks of data in place, using and updating iv.
+     * @param data The data
+     * @param offset The offset
+     * @param blocksNum The block number
+     * @param cipherState The cipher state
      */
     public void cbcDec(byte[] data, int offset, int blocksNum, byte[] cipherState) {
         byte[] lastBlock = new byte[BLOCK_SIZE];

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Des.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Des.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Des.java
index 7b8570e..7ad0eb1 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Des.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Des.java
@@ -75,6 +75,9 @@ public class Des {
 
     /**
      * MIT krb5 FIXUP(k) in s2k_des.c
+     * @param key The key byte
+     * @param offset The offset
+     * @param len The length
      */
     public static void fixKey(byte[] key, int offset, int len) {
         if (isWeakKey(key, offset, len)) {

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/ec0f46b1/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Nfold.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Nfold.java b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Nfold.java
index ec8489f..a08f4ae 100644
--- a/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Nfold.java
+++ b/kerby-kerb/kerb-crypto/src/main/java/org/apache/kerby/kerberos/kerb/crypto/util/Nfold.java
@@ -38,9 +38,12 @@ public class Nfold {
 
     /**
      * representation: msb first, assume n and k are multiples of 8, and
-     * that k>=16.  this is the case of all the cryptosystems which are
+     * that {@code k>=16}.  this is the case of all the cryptosystems which are
      * likely to be used.  this function can be replaced if that
      * assumption ever fails.
+     * @param inBytes The input bytes
+     * @param size The size
+     * @return The output byte
      */
     public static byte[] nfold(byte[] inBytes, int size) {
         int inBytesNum = inBytes.length; // count inBytes byte