]> Pileus Git - ~andy/freeotp/blobdiff - src/org/fedorahosted/freeotp/Token.java
Relicense to Apache 2.0
[~andy/freeotp] / src / org / fedorahosted / freeotp / Token.java
index a42d36f92ec4c6783c4dd030358b1e758f82604a..b7416c8d17ebfbc4b50ee8fd3b77baf3b4a6b39a 100644 (file)
@@ -4,20 +4,18 @@
  * Authors: Nathaniel McCallum <npmccallum@redhat.com>
  *
  * Copyright (C) 2013  Nathaniel McCallum, Red Hat
- * see file 'COPYING' for use and warranty information
  *
- * This program is free software you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * 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
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * 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.fedorahosted.freeotp;
@@ -67,15 +65,13 @@ public class Token {
                                tokens.add(new Token(prefs.getString(key, null)));
                        } catch (TokenUriInvalidException e) {
                                e.printStackTrace();
-                       } catch (NoSuchAlgorithmException e) {
-                               e.printStackTrace();
                        }
                }
 
                return tokens;
        }
 
-       private Token(Uri uri) throws TokenUriInvalidException, NoSuchAlgorithmException {
+       private Token(Uri uri) throws TokenUriInvalidException {
                if (!uri.getScheme().equals("otpauth"))
                        throw new TokenUriInvalidException();
 
@@ -105,10 +101,11 @@ public class Token {
                if (algo == null)
                        algo = "sha1";
                algo = algo.toUpperCase(Locale.US);
-               if (!algo.equals("SHA1") && !algo.equals("SHA256") &&
-            !algo.equals("SHA512") && !algo.equals("MD5"))
+               try {
+                       Mac.getInstance("Hmac" + algo);
+               } catch (NoSuchAlgorithmException e1) {
                        throw new TokenUriInvalidException();
-               Mac.getInstance("Hmac" + algo);
+               }
 
                try {
                        String d = uri.getQueryParameter("digits");
@@ -194,7 +191,7 @@ public class Token {
                return "";
        }
 
-       public Token(String uri) throws TokenUriInvalidException, NoSuchAlgorithmException {
+       public Token(String uri) throws TokenUriInvalidException {
                this(Uri.parse(uri));
        }