001/* 002 * nimbus-jose-jwt 003 * 004 * Copyright 2012-2016, Connect2id Ltd and contributors. 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use 007 * this file except in compliance with the License. You may obtain a copy of the 008 * License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software distributed 013 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 014 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 015 * specific language governing permissions and limitations under the License. 016 */ 017 018package com.nimbusds.jose.util; 019 020 021import javax.crypto.SecretKey; 022import javax.crypto.spec.SecretKeySpec; 023 024 025/** 026 * JCA key utilities. 027 * 028 * @author Vladimir Dzhuvinov 029 * @version 2018-02-11 030 */ 031public class KeyUtils { 032 033 034 /** 035 * Returns the specified secret key as a secret key with its algorithm 036 * set to "AES". 037 * 038 * @param secretKey The secret key, {@code null} if not specified. 039 * 040 * @return The AES secret key, {@code null} if not specified. 041 */ 042 public static SecretKey toAESKey(final SecretKey secretKey) { 043 044 if (secretKey == null) { 045 return null; 046 } 047 048 return new SecretKeySpec(secretKey.getEncoded(), "AES"); 049 } 050 051 052 /** 053 * Prevents public instantiation. 054 */ 055 private KeyUtils() {} 056}