Class PKCS12Util


  • public class PKCS12Util
    extends Object
    Utility class for reencoding PKCS#12 files to definite length.
    • Constructor Detail

      • PKCS12Util

        public PKCS12Util()
    • Method Detail

      • convertToDefiniteLength

        public static byte[] convertToDefiniteLength​(byte[] berPKCS12File)
                                              throws IOException
        Just re-encode the outer layer of the PKCS#12 file to definite length encoding.
        Parameters:
        berPKCS12File - - original PKCS#12 file
        Returns:
        a byte array representing the DER encoding of the PFX structure
        Throws:
        IOException
      • convertToDefiniteLength

        public static byte[] convertToDefiniteLength​(byte[] berPKCS12File,
                                                     char[] passwd,
                                                     String provider)
                                              throws IOException
        Re-encode the PKCS#12 structure to definite length encoding at the inner layer as well, recomputing the MAC accordingly.
        Parameters:
        berPKCS12File - - original PKCS12 file.
        provider - - provider to use for MAC calculation.
        Returns:
        a byte array representing the DER encoding of the PFX structure.
        Throws:
        IOException - on parsing, encoding errors.