* 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;
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();
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");
return "";
}
- public Token(String uri) throws TokenUriInvalidException, NoSuchAlgorithmException {
+ public Token(String uri) throws TokenUriInvalidException {
this(Uri.parse(uri));
}