/*
 * reserved comment block
 * DO NOT REMOVE OR ALTER!
 */
/*
 * Copyright  1999-2004 The Apache Software Foundation.
 *
 *  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
 *
 *      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 com.sun.org.apache.xml.internal.security.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.SecurityPermission;

A collection of different, general-purpose methods for JAVA-specific things
Author:Christian Geuer-Pollmann
/** * A collection of different, general-purpose methods for JAVA-specific things * @author Christian Geuer-Pollmann */
public class JavaUtils {
logging logging facility
/** {@link java.util.logging} logging facility */
static java.util.logging.Logger log = java.util.logging.Logger.getLogger(JavaUtils.class.getName()); private static final SecurityPermission REGISTER_PERMISSION = new SecurityPermission( "com.sun.org.apache.xml.internal.security.register"); private JavaUtils() { // we don't allow instantiation }
Method getBytesFromFile
Params:
  • fileName –
Throws:
Returns:the bytes readed from the file
/** * Method getBytesFromFile * * @param fileName * @return the bytes readed from the file * * @throws FileNotFoundException * @throws IOException */
public static byte[] getBytesFromFile(String fileName) throws FileNotFoundException, IOException { byte refBytes[] = null; FileInputStream fisRef = new FileInputStream(fileName); try { UnsyncByteArrayOutputStream baos = new UnsyncByteArrayOutputStream(); byte buf[] = new byte[1024]; int len; while ((len = fisRef.read(buf)) > 0) { baos.write(buf, 0, len); } refBytes = baos.toByteArray(); } finally { fisRef.close(); } return refBytes; }
Method writeBytesToFilename
Params:
  • filename –
  • bytes –
/** * Method writeBytesToFilename * * @param filename * @param bytes */
public static void writeBytesToFilename(String filename, byte[] bytes) { FileOutputStream fos = null; try { if (filename != null && bytes != null) { File f = new File(filename); fos = new FileOutputStream(f); fos.write(bytes); fos.close(); } else { log.log(java.util.logging.Level.FINE, "writeBytesToFilename got null byte[] pointed"); } } catch (IOException ex) { if (fos != null) { try { fos.close(); } catch (IOException ioe) {} } } }
This method reads all bytes from the given InputStream till EOF and returns them as a byte array.
Params:
  • inputStream –
Throws:
Returns:the bytes readed from the stream
/** * This method reads all bytes from the given InputStream till EOF and * returns them as a byte array. * * @param inputStream * @return the bytes readed from the stream * * @throws FileNotFoundException * @throws IOException */
public static byte[] getBytesFromStream(InputStream inputStream) throws IOException { byte refBytes[] = null; UnsyncByteArrayOutputStream baos = new UnsyncByteArrayOutputStream(); byte buf[] = new byte[1024]; int len; while ((len = inputStream.read(buf)) > 0) { baos.write(buf, 0, len); } refBytes = baos.toByteArray(); return refBytes; }
Throws a SecurityException if a security manager is installed and the caller is not allowed to register an implementation of an algorithm, transform, or other security sensitive XML Signature function.
Throws:
  • SecurityException – if a security manager is installed and the caller has not been granted the "com.sun.org.apache.xml.internal.security.register" SecurityPermission
/** * Throws a {@code SecurityException} if a security manager is installed * and the caller is not allowed to register an implementation of an * algorithm, transform, or other security sensitive XML Signature function. * * @throws SecurityException if a security manager is installed and the * caller has not been granted the * {@literal "com.sun.org.apache.xml.internal.security.register"} * {@code SecurityPermission} */
public static void checkRegisterPermission() { SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(REGISTER_PERMISSION); } } }