org.apache.poi.poifs.crypt.standard
Class StandardEncryptor

java.lang.Object
  extended by org.apache.poi.poifs.crypt.Encryptor
      extended by org.apache.poi.poifs.crypt.standard.StandardEncryptor

public class StandardEncryptor
extends Encryptor


Nested Class Summary
protected  class StandardEncryptor.StandardCipherOutputStream
           
 
Field Summary
 
Fields inherited from class org.apache.poi.poifs.crypt.Encryptor
DEFAULT_POIFS_ENTRY
 
Constructor Summary
protected StandardEncryptor(StandardEncryptionInfoBuilder builder)
           
 
Method Summary
 void confirmPassword(java.lang.String password)
           
 void confirmPassword(java.lang.String password, byte[] keySpec, byte[] keySalt, byte[] verifier, byte[] verifierSalt, byte[] integritySalt)
          Fills the fields of verifier and header with the calculated hashes based on the password and a random salt see [MS-OFFCRYPTO] - 2.3.4.7 ECMA-376 Document Encryption Key Generation
protected  void createEncryptionInfoEntry(DirectoryNode dir)
           
 java.io.OutputStream getDataStream(DirectoryNode dir)
          Return a output stream for encrypted data.
protected  int getKeySizeInBytes()
           
 
Methods inherited from class org.apache.poi.poifs.crypt.Encryptor
getDataStream, getDataStream, getDataStream, getInstance, getSecretKey, setSecretKey
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardEncryptor

protected StandardEncryptor(StandardEncryptionInfoBuilder builder)
Method Detail

confirmPassword

public void confirmPassword(java.lang.String password)
Specified by:
confirmPassword in class Encryptor

confirmPassword

public void confirmPassword(java.lang.String password,
                            byte[] keySpec,
                            byte[] keySalt,
                            byte[] verifier,
                            byte[] verifierSalt,
                            byte[] integritySalt)
Fills the fields of verifier and header with the calculated hashes based on the password and a random salt see [MS-OFFCRYPTO] - 2.3.4.7 ECMA-376 Document Encryption Key Generation

Specified by:
confirmPassword in class Encryptor

getDataStream

public java.io.OutputStream getDataStream(DirectoryNode dir)
                                   throws java.io.IOException,
                                          java.security.GeneralSecurityException
Description copied from class: Encryptor
Return a output stream for encrypted data.

Specified by:
getDataStream in class Encryptor
Parameters:
dir - the node to write to
Returns:
encrypted stream
Throws:
java.io.IOException
java.security.GeneralSecurityException

getKeySizeInBytes

protected int getKeySizeInBytes()

createEncryptionInfoEntry

protected void createEncryptionInfoEntry(DirectoryNode dir)
                                  throws java.io.IOException
Throws:
java.io.IOException


Copyright 2016 The Apache Software Foundation or its licensors, as applicable.