/* * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * WSO2 Inc. licenses this file 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.synapse.commons.crypto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** * This is a util class to provide required functions. */ public class Util { private static Log log = LogFactory.getLog(Util.class); /** * Helper method to validate store password and key password * * @param identityStorePass * @param identityKeyPass * @return if valid true, false otherwise */ public static boolean validatePasswords(String identityStorePass, String identityKeyPass) { boolean isValid = false; if (identityStorePass != null && !"".equals(identityStorePass) && identityKeyPass != null && !"".equals(identityKeyPass)) { if (log.isDebugEnabled()) { log.debug("Identity Store Password " + "and Identity Store private key Password cannot be found."); } isValid = true; } return isValid; } /** * Helper method to decide encode decode types. * * @param value * @param defaultValue * @return type */ public static EncodeDecodeTypes getEncodeDecodeType(String value, EncodeDecodeTypes defaultValue) { if (value != null && !value.isEmpty() && value.equals(EncodeDecodeTypes.BASE64)) { return EncodeDecodeTypes.BASE64; } else if (value != null && !value.isEmpty() && value.equals(EncodeDecodeTypes.BIGINTEGER16)) { return EncodeDecodeTypes.BIGINTEGER16; } else if (value != null && !value.isEmpty() && value.equals(EncodeDecodeTypes.HEX)){ return EncodeDecodeTypes.HEX; } else { return defaultValue; } } /** * Helper method to append encrypted parts to the response. * * @param value * @param toAppend * @return response */ public static byte[] append(byte[] value, byte[] toAppend) { byte[] response = new byte[value.length + toAppend.length]; for (int i = 0; i < value.length; i++) { response[i] = value[i]; } for (int i = 0; i < toAppend.length; i++) { response[i + value.length] = toAppend[i]; } return response; } }