feature #4147 :  Introduces an API in Silverpeas for handling cryptographics functions whatever the security Java library (bouncycastle, java security/cryptography,...) used for the purpose. The existing code about enciphering (yet the Blowfish cipher) has been migrated to satisfy this new API. The old code on the asymmetric cipher is kept in state for the moment; it will satisfy the new API later
feature #4147 :  Now, the old code to encrypt and decrypt digital data by using a PKS infrastructure (CMS or Cryptographic Message Syntax) is based on the new Silverpeas Cryptography API and it is provided as a Cipher implementation to perform PKS#12 and PKS#7 tasks
feature #4147 :  Add a CAST5 cipher. Now the key passed in the encryption and in the decryption methods of the cipher implementations is an instance of a new class, CipherKey; the CipherKey class wraps the concrete representation of the key (it can be a raw key or one coming from a key file, ...)
feature #4147 :  Replace the current implementation of the Unix SHA-512-based crypt (coming from the University of Texas, Austin) by the one that uses directly the Crypt class of the Apache Common Codec library.
feature #4147 : Add the following features to the ContentEncryptionService: the encryption and the decryption of contents, whatever they are.
In order to be agnostic about the content type, a content is passed either as a one or more strings, each of them representing a content field/property or as a Map in which each entry is a field/property of the content.
The encryption and the decryption of contents can be also performed by passing as arguments one or more providers of contents. The provider is a way to give to the encryption service several contents to process by loading once the encryption key and the cipher; these contents are processed in flow (a content is taken, processed by the encryption service and then returned updated to the provider).
feature #4147 :  Add the renewing of the cipher of content when the cipher key is updated. In order to avoid some issues with the encryption or the decryption of content when the key is updated, the update of the cipher key creates an execution contention in which all invocation to other method raises an IllegalStateException. In order to be updated when the cipher key is updated, the encrypted contents must be provided by the content management service through an iterator (an EncryptionContentIterator object). The code is also cleaned to avoid some code duplication.
feature #4147 : The change can be divided into two parts:
- modification of the previous code: extract an interface from the ContentEncryptionService and add a test class dedicated to test
the concurrent accesses work correctly and with a better coverage of the cases. Fix some minor bugs discovered in the tests.
- add a web service to set a cipher key in front of the ContentEncryptionService service. Add also a new JSP page in the
administration console to set or to change a cipher key (the look&feel is for instance ugly and requires to be updated)
feature #4147 :  Fix a merge conflict with the jboss-web.xml
feature #4147 :  Refine the JSP. Fix the problem of the load of Bouncy Castle classes with the JBoss VFS by loading them explicitly in Silverpeas at starting.
feature #4147 :  The key for the CAST5 cipher (used to encrypt the key for the content encryption) is now randomly generated at each setting of the cipher key for the content encryption. These keys are now both stored in a key file in the Silverpeas security directory (a hidden directory). Fix the hidden property of the key file in Windows.
feature #4147 :  Fix merge conflicts
integrating feature #4147
enhancing page to import cipher key
removing Java warnings on new package org.silverpeas.util.crypto
starting feature #4371
managing new property 'dataEncrypted' of form
encrypting/decrypting existing data when 'dataEncrypted' is turn on/off
adding a factory of ContentEncryptionService
on feature #4371 :
- data are crypted when stored into database
- data are decrypted when loaded from database
closing feature #4371, managing high level encryption by FormEncryptionContentIterator.java
data of encrypted forms are decrypted/encrypted when cipher key is renewed
feature #4147 :  Now when the cipher key update failed for whatever the reason, an exception is thrown and the key update is abandonned. If the failure comes from the renewing of a content cipher, then the encrypted content provider is informed about the failure. Any exception from the provider is also captured during this operation and the cipher update is then also roll-backed

Conflicts:

	lib-core/src/main/java/com/silverpeas/util/security/ContentEncryptionService.java
	lib-core/src/main/java/com/silverpeas/util/security/CryptographicTask.java
	lib-core/src/main/java/com/silverpeas/util/security/DefaultContentEncryptionService.java
	lib-core/src/test/java/com/silverpeas/util/security/KeyManagementTest.java
Merge branch 'master' into feature4371

Conflicts:
	lib-core/src/main/java/com/silverpeas/util/FileUtil.java
	lib-core/src/main/java/com/silverpeas/util/StringUtil.java
	lib-core/src/main/java/com/stratelia/webactiv/beans/admin/OrganizationController.java
	lib-core/src/main/java/com/stratelia/webactiv/jaas/SilverpeasLoginModule.java
	lib-core/src/main/java/com/stratelia/webactiv/util/FileRepositoryManager.java
	lib-core/src/main/java/org/silverpeas/authentication/AuthenticationSQL.java
	lib-core/src/test/resources/org/silverpeas/general.properties
	war-core/src/main/webapp/WEB-INF/config/spring-silverpeas.xml
	web-core/src/main/java/com/silverpeas/accesscontrol/ComponentAccessController.java
	web-core/src/main/java/com/silverpeas/external/webConnections/dao/ConnectionDAO.java
	web-core/src/main/java/com/silverpeas/jcrutil/servlets/SimpleDigestWebdavServlet.java
	web-core/src/main/java/com/silverpeas/jobManagerPeas/control/JobManagerPeasSessionController.java
	web-core/src/main/java/com/silverpeas/profile/web/UserProfileEntity.java
	web-core/src/main/java/com/silverpeas/web/aspect/ComponentExistenceAspect.java
Merge remote-tracking branch 'nico/feature4371' into master
integration :  Avoiding NPE
integration :  Sometimes the directory can't be deleted by windows