X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Forg%2Ffedorahosted%2Ffreeotp%2FToken.java;h=b7416c8d17ebfbc4b50ee8fd3b77baf3b4a6b39a;hb=6d7df9c55d9dc215be3a07d4ddd5e69b473102b2;hp=a42d36f92ec4c6783c4dd030358b1e758f82604a;hpb=4013a12ccc9228a4b0d1b7c2e4f1f2e38bc502ba;p=~andy%2Ffreeotp diff --git a/src/org/fedorahosted/freeotp/Token.java b/src/org/fedorahosted/freeotp/Token.java index a42d36f..b7416c8 100644 --- a/src/org/fedorahosted/freeotp/Token.java +++ b/src/org/fedorahosted/freeotp/Token.java @@ -4,20 +4,18 @@ * Authors: Nathaniel McCallum * * 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 . + * 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)); }