You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by di...@apache.org on 2004/11/14 00:31:24 UTC

cvs commit: xml-security/src/org/apache/xml/security/utils Base64.java

dims        2004/11/13 15:31:24

  Modified:    src/org/apache/xml/security/encryption XMLCipher.java
               src/org/apache/xml/security/resource
                        xmlsecurity_de.properties xmlsecurity_en.properties
               src/org/apache/xml/security/utils Base64.java
  Log:
  Patch for Bug 32189 - Missing error resource
  Patch for Bug 32188 - Log non default cipher at warning rather than error
  from meder@mcs.anl.gov (Sam Meder)
  
  Revision  Changes    Path
  1.32      +2 -2      xml-security/src/org/apache/xml/security/encryption/XMLCipher.java
  
  Index: XMLCipher.java
  ===================================================================
  RCS file: /home/cvs/xml-security/src/org/apache/xml/security/encryption/XMLCipher.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- XMLCipher.java	12 Nov 2004 18:33:30 -0000	1.31
  +++ XMLCipher.java	13 Nov 2004 23:31:23 -0000	1.32
  @@ -266,7 +266,7 @@
           if (null == transformation)
               logger.error("Transformation unexpectedly null...");
           if(!isValidEncryptionAlgorithm(transformation))
  -            logger.error("Alogorithm unvalid, expected one of " + ENC_ALGORITHMS);
  +            logger.error("Algorithm non-standard, expected one of " + ENC_ALGORITHMS);
   
   		XMLCipher instance = new XMLCipher();
   
  @@ -356,7 +356,7 @@
           if("" == provider)
               logger.error("Provider's value unexpectedly not specified...");
           if(!isValidEncryptionAlgorithm(transformation))
  -            logger.error("Alogorithm unvalid, expected one of " + ENC_ALGORITHMS);
  +            logger.warn("Algorithm non-standard, expected one of " + ENC_ALGORITHMS);
   
   		XMLCipher instance = new XMLCipher();
   
  
  
  
  1.19      +118 -117  xml-security/src/org/apache/xml/security/resource/xmlsecurity_de.properties
  
  Index: xmlsecurity_de.properties
  ===================================================================
  RCS file: /home/cvs/xml-security/src/org/apache/xml/security/resource/xmlsecurity_de.properties,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- xmlsecurity_de.properties	4 Apr 2004 04:20:24 -0000	1.18
  +++ xmlsecurity_de.properties	13 Nov 2004 23:31:24 -0000	1.19
  @@ -1,117 +1,118 @@
  -algorithm.alreadyRegistered = URI {0} wurde bereits an die Klasse {1} gebunden
  -algorithm.classDoesNotExist = Kann URI {0} nicht f�r Klasse {1} registrieren weil sie nicht existiert
  -algorithm.ClassDoesNotExist = Klasse {0} existiert nicht
  -algorithm.extendsWrongClass = Kann URI {0} nicht f�r Klasse {1} registrieren weil sie nicht {2} extended
  -algorithms.CannotUseAlgorithmParameterSpecOnDSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating DSA signatures.
  -algorithms.CannotUseAlgorithmParameterSpecOnRSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating RSA signatures.
  -algorithms.CannotUseSecureRandomOnMAC = Sorry, but you cannot use a SecureRandom object for creating MACs.
  -algorithms.HMACOutputLengthOnlyForHMAC = A HMACOutputLength can only be specified for HMAC integrity algorithms
  -algorithms.NoSuchAlgorithm = Der Algorithmus {0} ist nicht verf�gbar. Original Nachricht war: {1}
  -algorithms.NoSuchMap = The algorithm URI "{0}" could not be mapped to a JCE algorithm
  -algorithms.NoSuchProvider = The specified Provider {0} does not exist. Original Message was: {1}
  -algorithms.operationOnlyVerification = A public key can only used for verification of a signature.
  -algorithms.WrongKeyForThisOperation = Sorry, you supplied the wrong key type for this operation! You supplied a {0} but a {1} is needed.
  -attributeValueIllegal = The attribute {0} has value {1} but must be {2}
  -c14n.Canonicalizer.Exception = Exception w�hrend Kanonisierung:  Original Nachricht war {0}
  -c14n.Canonicalizer.IllegalNode = Unzul�ssiger NodeType {0}, NodeName lautete {1}
  -c14n.Canonicalizer.NoSuchCanonicalizer = Kein Canonicalizer mit dem URI {0} gefunden
  -c14n.Canonicalizer.ParserConfigurationException = ParserConfigurationException w�hrend Kanonisierung:  Original Nachricht war {0}
  -c14n.Canonicalizer.RelativeNamespace = Das Element {0} hat einen relativen Namespace: {1}="{2}"
  -c14n.Canonicalizer.SAXException = SAXException w�hrend Kanonisierung:  Original Nachricht war {0}
  -c14n.Canonicalizer.TraversalNotSupported = Das DOM Dokument unterst�tzt keine Traversal {0}
  -c14n.Canonicalizer.UnsupportedEncoding = Unbekannte Kodierung {0}
  -c14n.Canonicalizer.UnsupportedOperation = This canonicalizer does not support this operation
  -c14n.XMLUtils.circumventBug2650forgotten = The tree has not been prepared for canonicalization using XMLUtils#circumventBug2650(Document)
  -certificate.noSki.lowVersion = Certificate cannot contain a SubjectKeyIdentifier because it is only X509v{0}
  -certificate.noSki.notOctetString = Certificates SubjectKeyIdentifier is not a OctetString
  -certificate.noSki.null = Certificate does not contain a SubjectKeyIdentifier
  -defaultNamespaceCannotBeSetHere = Default namespace cannot be set here
  -ElementProxy.nullElement = Kann einen ElementProxy aus einem null Argument erzeugen
  -empty = {0}
  -encryption.algorithmCannotBeUsedForEncryptedData = encryption.algorithmCannotBeUsedForEncryptedData {0}
  -encryption.algorithmCannotEatInitParams = encryption.algorithmCannotEatInitParams
  -encryption.algorithmCannotEncryptDecrypt = encryption.algorithmCannotEncryptDecrypt
  -encryption.algorithmCannotWrapUnWrap = encryption.algorithmCannotWrapUnWrap
  -encryption.ExplicitKeySizeMismatch = The xenc:KeySize element requests a key size of {0} bit but the algorithm implements {1} bit
  -encryption.nonceLongerThanDecryptedPlaintext = The given nonce is longer than the available plaintext. I Cannot strip away this.
  -encryption.RSAOAEP.dataHashWrong = data hash wrong
  -encryption.RSAOAEP.dataStartWrong = data wrong start {0}
  -encryption.RSAOAEP.dataTooShort = data too short
  -encryption.RSAPKCS15.blockTruncated = block truncated
  -encryption.RSAPKCS15.noDataInBlock = no data in block
  -encryption.RSAPKCS15.unknownBlockType = unknown block type
  -encryption.nokey = No Key Encryption Key loaded and cannot determine using key resolvers
  -endorsed.jdk1.4.0 = Since it seems that nobody reads our installation notes, we must do it in the exception messages. Hope you read them. You did NOT use the endorsed mechanism from JDK 1.4 properly; look at <http://xml.apache.org/security/Java/installation.html> how to solve this problem.
  -errorMessages.InvalidDigestValueException = Ung�ltige Signatur: Reference Validation fehlgeschlagen.
  -errorMessages.InvalidSignatureValueException = Ung�ltige Signatur: Core Validation fehlgeschlagen.
  -errorMessages.IOException = Datei oder Resource kann nicht gelesen werden.
  -errorMessages.MissingKeyFailureException = Verifizieren fehlgeschlagen, weil der �ffentliche Schl�ssel (public key) nicht verf�gbar ist. Resourcen via addResource() hinzuf�gen und erneut verifizieren.
  -errorMessages.MissingResourceFailureException = Verifizieren fehlgeschlagen, weil Resourcen nicht verf�gbar sind. Resourcen via addResource() hinzuf�gen und erneut verifizieren.
  -errorMessages.NoSuchAlgorithmException = Unbekannter Algorithmus {0}
  -errorMessages.NotYetImplementedException = Funktionalit�t noch nicht implementiert.
  -errorMessages.XMLSignatureException = Verifizieren aus unbekanntem Grund fehlgeschlagen.
  -FileKeyStorageImpl.addToDefaultFromRemoteNotImplemented = Method addToDefaultFromRemote() not yet implemented.
  -FileKeyStorageImpl.NoCert.Context = Not found such a X509Certificate including context {0}
  -FileKeyStorageImpl.NoCert.IssNameSerNo = Not found such a X509Certificate with IssuerName {0} and serial number {1}
  -FileKeyStorageImpl.NoCert.SubjName = Not found such a X509Certificate including SubjectName {0}
  -generic.dontHaveConstructionElement = I do not have a construction Element
  -generic.EmptyMessage = {0}
  -generic.NotYetImplemented = {0} Leider noch nicht implementiert ;-((
  -java.security.InvalidKeyException = Ung�ltiger Schl�ssel
  -java.security.NoSuchProviderException = Unbekannter oder nicht unterst�tzter Provider
  -java.security.UnknownKeyType = Unbekannter oder nicht unterst�tzter Key type {0}
  -KeyInfo.needKeyResolver = Es m�ssen mehrere KeyResolver registriert sein
  -KeyInfo.nokey = Kann keinen Schl�ssel aus {0} gewinnen
  -KeyInfo.noKey = Kann keinen �ffentlichen Schl�ssel finden
  -KeyInfo.wrongNumberOfObject = Ben�tige {0} keyObjects
  -KeyInfo.wrongUse = Dieses Objekt wird verwendet, um {0} zu gewinnen
  -keyResolver.alreadyRegistered = Die Klasse {1} wurde bereits registriert f�r {0}
  -KeyResolver.needStorageResolver = Need a StorageResolver to retrieve a Certificate from a {0}
  -KeyResoverSpiImpl.cannotGetCert = Cannot get the Certificate that include or in {1} in implement class {0}
  -KeyResoverSpiImpl.elementGeneration = Cannot make {1} element in implement class {0}
  -KeyResoverSpiImpl.getPoublicKey = Cannot get the public key from implement class {0}
  -KeyResoverSpiImpl.InvalidElement = Cannot set (2) Element in implement class {0}
  -KeyResoverSpiImpl.keyStore = KeyStorage error in implement class {0}
  -KeyResoverSpiImpl.need.Element = {1} type of Element is needed in implement class {0}
  -KeyResoverSpiImpl.wrongCRLElement = Cannot make CRL from {1} in implement class {0}
  -KeyResoverSpiImpl.wrongKeyObject =  Need {1} type of KeyObject for generation Element in implement class{0}
  -KeyResoverSpiImpl.wrongNumberOfObject = Need {1} keyObject in implement class {0}
  -KeyStore.alreadyRegistered = {0} Class has already been registered for {1}
  -KeyStore.register = {1} type class register error  in class {0}
  -KeyStore.registerStore.register = Registeration error for type {0}
  -KeyValue.IllegalArgument = Cannot create a {0} from {1}
  -namespacePrefixAlreadyUsedByOtherURI = Namespace {0} already used by other URI {1}
  -notYetInitialized = Das Modul {0} ist noch nicht initialisiert
  -prefix.AlreadyAssigned = Sie binden den Prefix {0} an den Namespace {1} aber er ist bereits an {2} zugewiesen
  -signature.Canonicalizer.UnknownCanonicalizer = Unbekannter Canonicalizer. Kein Handler installiert f�r URI {0}
  -signature.DSA.invalidFormat = Invalid ASN.1 encoding of the DSA signature
  -signature.Generation.signBeforeGetValue = You have to XMLSignature.sign(java.security.PrivateKey) first
  -signature.signaturePropertyHasNoTarget = Das Target Attribut der SignatureProperty muss gesetzt sein
  -signature.Transform.ErrorDuringTransform = W�hrend der Transformation {0} trat eine {1} auf.
  -signature.Transform.NotYetImplemented = Transform {0} noch nicht implementiert
  -signature.Transform.NullPointerTransform = Null pointer als URI �bergeben. Programmierfehler?
  -signature.Transform.UnknownTransform = Unbekannte Transformation. Kein Handler installiert f�r URI {0}
  -signature.Util.BignumNonPositive = bigInteger.signum() mu� positiv sein
  -signature.Util.NonTextNode = Kein Text Node
  -signature.Util.TooManyChilds = Zu viele Child-Elemente vom Type {0} in {1}
  -signature.Verification.certificateError = Zertifikatsfehler
  -signature.Verification.IndexOutOfBounds = Index {0} illegal. We only have {1} References
  -signature.Verification.internalError = Interner Fehler
  -signature.Verification.InvalidDigestOrReference = Ung�ltiger Digest Wert oder Reference Element {0}
  -signature.Verification.keyStore = �ffnen des KeyStore fehlgeschlagen
  -signature.Verification.MissingID = Cannot resolve element with ID {0}
  -signature.Verification.MissingResources = Kann die externe Resource {0} nicht aufl�sen
  -signature.Verification.NoSignatureElement = Input Dokument enth�lt kein {0} Element mit dem Namespace {1}
  -signature.Verification.Reference.NoInput = Die Reference f�r den URI {0} hat keinen XMLSignatureInput erhalten.
  -signature.Verification.SignatureError = Signatur Fehler
  -signature.XMLSignatureInput.MissingConstuctor = Kann aus der Klasse {0} keinen XMLSignatureInput erzeugen
  -signature.XMLSignatureInput.SerializeDOM = Input mit einem DOM Dokument initialisiert. Mu� mit C14N serialisiert werden
  -transform.Init.IllegalContextArgument = Unzul�ssiges Kontext Argument der Klasse {0}. Muss String, org.w3c.dom.NodeList oder java.io.InputStream sein.
  -transform.init.NotInitialized =
  -transform.init.wrongURI = Initialisiert mit dem falschen URI. Das sollte nie passieren. Die Transformation implementiert {0} aber {1} wurde bei der Instantiierung verwendet.
  -utils.Base64.IllegalBitlength = Ung�ltige Bytel�nge; Muss ein vielfaches von 4 sein
  -utils.resolver.noClass = Could not find a resolver for URI {0} and Base {1}
  -xml.WrongContent = Kann {0} nicht finden in {1}
  -xml.WrongElement = Kann kein {0} aus einem {1} Element erzeugen
  -xpath.funcHere.documentsDiffer = Der XPath ist nicht im selben Dokument wie der Kontext Node
  -xpath.funcHere.noXPathContext = Try to evaluate an XPath which uses the here() function but XPath is not inside an ds:XPath Element. XPath was : {0}
  +algorithm.alreadyRegistered = URI {0} wurde bereits an die Klasse {1} gebunden
  +algorithm.classDoesNotExist = Kann URI {0} nicht f�r Klasse {1} registrieren weil sie nicht existiert
  +algorithm.ClassDoesNotExist = Klasse {0} existiert nicht
  +algorithm.extendsWrongClass = Kann URI {0} nicht f�r Klasse {1} registrieren weil sie nicht {2} extended
  +algorithms.CannotUseAlgorithmParameterSpecOnDSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating DSA signatures.
  +algorithms.CannotUseAlgorithmParameterSpecOnRSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating RSA signatures.
  +algorithms.CannotUseSecureRandomOnMAC = Sorry, but you cannot use a SecureRandom object for creating MACs.
  +algorithms.HMACOutputLengthOnlyForHMAC = A HMACOutputLength can only be specified for HMAC integrity algorithms
  +algorithms.NoSuchAlgorithm = Der Algorithmus {0} ist nicht verf�gbar. Original Nachricht war: {1}
  +algorithms.NoSuchMap = The algorithm URI "{0}" could not be mapped to a JCE algorithm
  +algorithms.NoSuchProvider = The specified Provider {0} does not exist. Original Message was: {1}
  +algorithms.operationOnlyVerification = A public key can only used for verification of a signature.
  +algorithms.WrongKeyForThisOperation = Sorry, you supplied the wrong key type for this operation! You supplied a {0} but a {1} is needed.
  +attributeValueIllegal = The attribute {0} has value {1} but must be {2}
  +c14n.Canonicalizer.Exception = Exception w�hrend Kanonisierung:  Original Nachricht war {0}
  +c14n.Canonicalizer.IllegalNode = Unzul�ssiger NodeType {0}, NodeName lautete {1}
  +c14n.Canonicalizer.NoSuchCanonicalizer = Kein Canonicalizer mit dem URI {0} gefunden
  +c14n.Canonicalizer.ParserConfigurationException = ParserConfigurationException w�hrend Kanonisierung:  Original Nachricht war {0}
  +c14n.Canonicalizer.RelativeNamespace = Das Element {0} hat einen relativen Namespace: {1}="{2}"
  +c14n.Canonicalizer.SAXException = SAXException w�hrend Kanonisierung:  Original Nachricht war {0}
  +c14n.Canonicalizer.TraversalNotSupported = Das DOM Dokument unterst�tzt keine Traversal {0}
  +c14n.Canonicalizer.UnsupportedEncoding = Unbekannte Kodierung {0}
  +c14n.Canonicalizer.UnsupportedOperation = This canonicalizer does not support this operation
  +c14n.XMLUtils.circumventBug2650forgotten = The tree has not been prepared for canonicalization using XMLUtils#circumventBug2650(Document)
  +certificate.noSki.lowVersion = Certificate cannot contain a SubjectKeyIdentifier because it is only X509v{0}
  +certificate.noSki.notOctetString = Certificates SubjectKeyIdentifier is not a OctetString
  +certificate.noSki.null = Certificate does not contain a SubjectKeyIdentifier
  +defaultNamespaceCannotBeSetHere = Default namespace cannot be set here
  +ElementProxy.nullElement = Kann einen ElementProxy aus einem null Argument erzeugen
  +empty = {0}
  +encryption.algorithmCannotBeUsedForEncryptedData = encryption.algorithmCannotBeUsedForEncryptedData {0}
  +encryption.algorithmCannotEatInitParams = encryption.algorithmCannotEatInitParams
  +encryption.algorithmCannotEncryptDecrypt = encryption.algorithmCannotEncryptDecrypt
  +encryption.algorithmCannotWrapUnWrap = encryption.algorithmCannotWrapUnWrap
  +encryption.ExplicitKeySizeMismatch = The xenc:KeySize element requests a key size of {0} bit but the algorithm implements {1} bit
  +encryption.nonceLongerThanDecryptedPlaintext = The given nonce is longer than the available plaintext. I Cannot strip away this.
  +encryption.RSAOAEP.dataHashWrong = data hash wrong
  +encryption.RSAOAEP.dataStartWrong = data wrong start {0}
  +encryption.RSAOAEP.dataTooShort = data too short
  +encryption.RSAPKCS15.blockTruncated = block truncated
  +encryption.RSAPKCS15.noDataInBlock = no data in block
  +encryption.RSAPKCS15.unknownBlockType = unknown block type
  +encryption.nokey = No Key Encryption Key loaded and cannot determine using key resolvers
  +endorsed.jdk1.4.0 = Since it seems that nobody reads our installation notes, we must do it in the exception messages. Hope you read them. You did NOT use the endorsed mechanism from JDK 1.4 properly; look at <http://xml.apache.org/security/Java/installation.html> how to solve this problem.
  +errorMessages.InvalidDigestValueException = Ung�ltige Signatur: Reference Validation fehlgeschlagen.
  +errorMessages.InvalidSignatureValueException = Ung�ltige Signatur: Core Validation fehlgeschlagen.
  +errorMessages.IOException = Datei oder Resource kann nicht gelesen werden.
  +errorMessages.MissingKeyFailureException = Verifizieren fehlgeschlagen, weil der �ffentliche Schl�ssel (public key) nicht verf�gbar ist. Resourcen via addResource() hinzuf�gen und erneut verifizieren.
  +errorMessages.MissingResourceFailureException = Verifizieren fehlgeschlagen, weil Resourcen nicht verf�gbar sind. Resourcen via addResource() hinzuf�gen und erneut verifizieren.
  +errorMessages.NoSuchAlgorithmException = Unbekannter Algorithmus {0}
  +errorMessages.NotYetImplementedException = Funktionalit�t noch nicht implementiert.
  +errorMessages.XMLSignatureException = Verifizieren aus unbekanntem Grund fehlgeschlagen.
  +decoding.general = Error while decoding
  +FileKeyStorageImpl.addToDefaultFromRemoteNotImplemented = Method addToDefaultFromRemote() not yet implemented.
  +FileKeyStorageImpl.NoCert.Context = Not found such a X509Certificate including context {0}
  +FileKeyStorageImpl.NoCert.IssNameSerNo = Not found such a X509Certificate with IssuerName {0} and serial number {1}
  +FileKeyStorageImpl.NoCert.SubjName = Not found such a X509Certificate including SubjectName {0}
  +generic.dontHaveConstructionElement = I do not have a construction Element
  +generic.EmptyMessage = {0}
  +generic.NotYetImplemented = {0} Leider noch nicht implementiert ;-((
  +java.security.InvalidKeyException = Ung�ltiger Schl�ssel
  +java.security.NoSuchProviderException = Unbekannter oder nicht unterst�tzter Provider
  +java.security.UnknownKeyType = Unbekannter oder nicht unterst�tzter Key type {0}
  +KeyInfo.needKeyResolver = Es m�ssen mehrere KeyResolver registriert sein
  +KeyInfo.nokey = Kann keinen Schl�ssel aus {0} gewinnen
  +KeyInfo.noKey = Kann keinen �ffentlichen Schl�ssel finden
  +KeyInfo.wrongNumberOfObject = Ben�tige {0} keyObjects
  +KeyInfo.wrongUse = Dieses Objekt wird verwendet, um {0} zu gewinnen
  +keyResolver.alreadyRegistered = Die Klasse {1} wurde bereits registriert f�r {0}
  +KeyResolver.needStorageResolver = Need a StorageResolver to retrieve a Certificate from a {0}
  +KeyResoverSpiImpl.cannotGetCert = Cannot get the Certificate that include or in {1} in implement class {0}
  +KeyResoverSpiImpl.elementGeneration = Cannot make {1} element in implement class {0}
  +KeyResoverSpiImpl.getPoublicKey = Cannot get the public key from implement class {0}
  +KeyResoverSpiImpl.InvalidElement = Cannot set (2) Element in implement class {0}
  +KeyResoverSpiImpl.keyStore = KeyStorage error in implement class {0}
  +KeyResoverSpiImpl.need.Element = {1} type of Element is needed in implement class {0}
  +KeyResoverSpiImpl.wrongCRLElement = Cannot make CRL from {1} in implement class {0}
  +KeyResoverSpiImpl.wrongKeyObject =  Need {1} type of KeyObject for generation Element in implement class{0}
  +KeyResoverSpiImpl.wrongNumberOfObject = Need {1} keyObject in implement class {0}
  +KeyStore.alreadyRegistered = {0} Class has already been registered for {1}
  +KeyStore.register = {1} type class register error  in class {0}
  +KeyStore.registerStore.register = Registeration error for type {0}
  +KeyValue.IllegalArgument = Cannot create a {0} from {1}
  +namespacePrefixAlreadyUsedByOtherURI = Namespace {0} already used by other URI {1}
  +notYetInitialized = Das Modul {0} ist noch nicht initialisiert
  +prefix.AlreadyAssigned = Sie binden den Prefix {0} an den Namespace {1} aber er ist bereits an {2} zugewiesen
  +signature.Canonicalizer.UnknownCanonicalizer = Unbekannter Canonicalizer. Kein Handler installiert f�r URI {0}
  +signature.DSA.invalidFormat = Invalid ASN.1 encoding of the DSA signature
  +signature.Generation.signBeforeGetValue = You have to XMLSignature.sign(java.security.PrivateKey) first
  +signature.signaturePropertyHasNoTarget = Das Target Attribut der SignatureProperty muss gesetzt sein
  +signature.Transform.ErrorDuringTransform = W�hrend der Transformation {0} trat eine {1} auf.
  +signature.Transform.NotYetImplemented = Transform {0} noch nicht implementiert
  +signature.Transform.NullPointerTransform = Null pointer als URI �bergeben. Programmierfehler?
  +signature.Transform.UnknownTransform = Unbekannte Transformation. Kein Handler installiert f�r URI {0}
  +signature.Util.BignumNonPositive = bigInteger.signum() mu� positiv sein
  +signature.Util.NonTextNode = Kein Text Node
  +signature.Util.TooManyChilds = Zu viele Child-Elemente vom Type {0} in {1}
  +signature.Verification.certificateError = Zertifikatsfehler
  +signature.Verification.IndexOutOfBounds = Index {0} illegal. We only have {1} References
  +signature.Verification.internalError = Interner Fehler
  +signature.Verification.InvalidDigestOrReference = Ung�ltiger Digest Wert oder Reference Element {0}
  +signature.Verification.keyStore = �ffnen des KeyStore fehlgeschlagen
  +signature.Verification.MissingID = Cannot resolve element with ID {0}
  +signature.Verification.MissingResources = Kann die externe Resource {0} nicht aufl�sen
  +signature.Verification.NoSignatureElement = Input Dokument enth�lt kein {0} Element mit dem Namespace {1}
  +signature.Verification.Reference.NoInput = Die Reference f�r den URI {0} hat keinen XMLSignatureInput erhalten.
  +signature.Verification.SignatureError = Signatur Fehler
  +signature.XMLSignatureInput.MissingConstuctor = Kann aus der Klasse {0} keinen XMLSignatureInput erzeugen
  +signature.XMLSignatureInput.SerializeDOM = Input mit einem DOM Dokument initialisiert. Mu� mit C14N serialisiert werden
  +transform.Init.IllegalContextArgument = Unzul�ssiges Kontext Argument der Klasse {0}. Muss String, org.w3c.dom.NodeList oder java.io.InputStream sein.
  +transform.init.NotInitialized =
  +transform.init.wrongURI = Initialisiert mit dem falschen URI. Das sollte nie passieren. Die Transformation implementiert {0} aber {1} wurde bei der Instantiierung verwendet.
  +utils.Base64.IllegalBitlength = Ung�ltige Bytel�nge; Muss ein vielfaches von 4 sein
  +utils.resolver.noClass = Could not find a resolver for URI {0} and Base {1}
  +xml.WrongContent = Kann {0} nicht finden in {1}
  +xml.WrongElement = Kann kein {0} aus einem {1} Element erzeugen
  +xpath.funcHere.documentsDiffer = Der XPath ist nicht im selben Dokument wie der Kontext Node
  +xpath.funcHere.noXPathContext = Try to evaluate an XPath which uses the here() function but XPath is not inside an ds:XPath Element. XPath was : {0}
  
  
  
  1.20      +118 -117  xml-security/src/org/apache/xml/security/resource/xmlsecurity_en.properties
  
  Index: xmlsecurity_en.properties
  ===================================================================
  RCS file: /home/cvs/xml-security/src/org/apache/xml/security/resource/xmlsecurity_en.properties,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- xmlsecurity_en.properties	4 Apr 2004 04:20:24 -0000	1.19
  +++ xmlsecurity_en.properties	13 Nov 2004 23:31:24 -0000	1.20
  @@ -1,117 +1,118 @@
  -algorithm.alreadyRegistered = URI {0} already assigned to class {1}
  -algorithm.classDoesNotExist = Cannot register URI {0} to class {1} because this class does not exist in CLASSPATH
  -algorithm.ClassDoesNotExist = Class {0} does not exist
  -algorithm.extendsWrongClass = Cannot register URI {0} to class {1} because it does not extend {2}
  -algorithms.CannotUseAlgorithmParameterSpecOnDSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating DSA signatures.
  -algorithms.CannotUseAlgorithmParameterSpecOnRSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating RSA signatures.
  -algorithms.CannotUseSecureRandomOnMAC = Sorry, but you cannot use a SecureRandom object for creating MACs.
  -algorithms.HMACOutputLengthOnlyForHMAC = A HMACOutputLength can only be specified for HMAC integrity algorithms
  -algorithms.NoSuchAlgorithm = The requested algorithm {0} does not exist. Original Message was: {1}
  -algorithms.NoSuchMap = The algorithm URI "{0}" could not be mapped to a JCE algorithm
  -algorithms.NoSuchProvider = The specified Provider {0} does not exist. Original Message was: {1}
  -algorithms.operationOnlyVerification = A public key can only used for verification of a signature.
  -algorithms.WrongKeyForThisOperation = Sorry, you supplied the wrong key type for this operation! You supplied a {0} but a {1} is needed.
  -attributeValueIllegal = The attribute {0} has value {1} but must be {2}
  -c14n.Canonicalizer.Exception = Exception during Canonicalization:  Original Message was {0}
  -c14n.Canonicalizer.IllegalNode = Illegal node type {0}, node name was {1}
  -c14n.Canonicalizer.NoSuchCanonicalizer = No canonicalizer found with URI {0}
  -c14n.Canonicalizer.ParserConfigurationException = ParserConfigurationException during Canonicalization:  Original Message was {0}
  -c14n.Canonicalizer.RelativeNamespace = Element {0} has a relative namespace: {1}="{2}"
  -c14n.Canonicalizer.SAXException = SAXException during Canonicalization:  Original Message was {0}
  -c14n.Canonicalizer.TraversalNotSupported = This DOM document does not support Traversal {0}
  -c14n.Canonicalizer.UnsupportedEncoding = Unsupported encoding {0}
  -c14n.Canonicalizer.UnsupportedOperation = This canonicalizer does not support this operation
  -c14n.XMLUtils.circumventBug2650forgotten = The tree has not been prepared for canonicalization using XMLUtils#circumventBug2650(Document)
  -certificate.noSki.lowVersion = Certificate cannot contain a SubjectKeyIdentifier because it is only X509v{0}
  -certificate.noSki.notOctetString = Certificates SubjectKeyIdentifier is not a OctetString
  -certificate.noSki.null = Certificate does not contain a SubjectKeyIdentifier
  -defaultNamespaceCannotBeSetHere = Default namespace cannot be set here
  -ElementProxy.nullElement = Cannot create an ElementProxy from a null argument
  -empty = {0}
  -encryption.algorithmCannotBeUsedForEncryptedData = encryption.algorithmCannotBeUsedForEncryptedData {0}
  -encryption.algorithmCannotEatInitParams = encryption.algorithmCannotEatInitParams
  -encryption.algorithmCannotEncryptDecrypt = encryption.algorithmCannotEncryptDecrypt
  -encryption.algorithmCannotWrapUnWrap = encryption.algorithmCannotWrapUnWrap
  -encryption.ExplicitKeySizeMismatch = The xenc:KeySize element requests a key size of {0} bit but the algorithm implements {1} bit
  -encryption.nonceLongerThanDecryptedPlaintext = The given nonce is longer than the available plaintext. I Cannot strip away this.
  -encryption.RSAOAEP.dataHashWrong = data hash wrong
  -encryption.RSAOAEP.dataStartWrong = data wrong start {0}
  -encryption.RSAOAEP.dataTooShort = data too short
  -encryption.RSAPKCS15.blockTruncated = block truncated
  -encryption.RSAPKCS15.noDataInBlock = no data in block
  -encryption.RSAPKCS15.unknownBlockType = unknown block type
  -encryption.nokey = No Key Encryption Key loaded and cannot determine using key resolvers
  -endorsed.jdk1.4.0 = Since it seems that nobody reads our installation notes, we must do it in the exception messages. Hope you read them. You did NOT use the endorsed mechanism from JDK 1.4 properly; look at <http://xml.apache.org/security/Java/installation.html> how to solve this problem.
  -errorMessages.InvalidDigestValueException = INVALID signature -- check reference resolution.
  -errorMessages.InvalidSignatureValueException = INVALID signature -- core validation failed.
  -errorMessages.IOException = Other file I/O and similar exceptions.
  -errorMessages.MissingKeyFailureException = Cannot verify because of missing public key. Provide it via addResource and try again.
  -errorMessages.MissingResourceFailureException = Cannot verify because of unresolved references. Provide it via addResource and try again.
  -errorMessages.NoSuchAlgorithmException = Unknown Algorithm {0}
  -errorMessages.NotYetImplementedException = Functionality not yet there.
  -errorMessages.XMLSignatureException = Verification failed for some other reason.
  -FileKeyStorageImpl.addToDefaultFromRemoteNotImplemented = Method addToDefaultFromRemote() not yet implemented.
  -FileKeyStorageImpl.NoCert.Context = Not found such a X509Certificate including context {0}
  -FileKeyStorageImpl.NoCert.IssNameSerNo = Not found such a X509Certificate with IssuerName {0} and serial number {1}
  -FileKeyStorageImpl.NoCert.SubjName = Not found such a X509Certificate including SubjectName {0}
  -generic.dontHaveConstructionElement = I do not have a construction Element
  -generic.EmptyMessage = {0}
  -generic.NotYetImplemented = {0} Not YET implemented ;-((
  -java.security.InvalidKeyException = Invalid key
  -java.security.NoSuchProviderException = Unknown or unsupported provider
  -java.security.UnknownKeyType = Unknown or unsupported key type {0}
  -KeyInfo.needKeyResolver = More than one keyResovler have to be registered
  -KeyInfo.nokey = Cannot get key from {0}
  -KeyInfo.noKey = Cannot get the public key
  -KeyInfo.wrongNumberOfObject = Need {0} keyObjects
  -KeyInfo.wrongUse = This object was made for getting {0}
  -keyResolver.alreadyRegistered = {1} class has already been registered for {0}
  -KeyResolver.needStorageResolver = Need a StorageResolver to retrieve a Certificate from a {0}
  -KeyResoverSpiImpl.cannotGetCert = Cannot get the Certificate that include or in {1} in implement class {0}
  -KeyResoverSpiImpl.elementGeneration = Cannot make {1} element in implement class {0}
  -KeyResoverSpiImpl.getPoublicKey = Cannot get the public key from implement class {0}
  -KeyResoverSpiImpl.InvalidElement = Cannot set (2) Element in implement class {0}
  -KeyResoverSpiImpl.keyStore = KeyStorage error in implement class {0}
  -KeyResoverSpiImpl.need.Element = {1} type of Element is needed in implement class {0}
  -KeyResoverSpiImpl.wrongCRLElement = Cannot make CRL from {1} in implement class {0}
  -KeyResoverSpiImpl.wrongKeyObject =  Need {1} type of KeyObject for generation Element in implement class{0}
  -KeyResoverSpiImpl.wrongNumberOfObject = Need {1} keyObject in implement class {0}
  -KeyStore.alreadyRegistered = {0} Class has already been registered for {1}
  -KeyStore.register = {1} type class register error  in class {0}
  -KeyStore.registerStore.register = Registeration error for type {0}
  -KeyValue.IllegalArgument = Cannot create a {0} from {1}
  -namespacePrefixAlreadyUsedByOtherURI = Namespace prefix {0} already used by other URI {1}
  -notYetInitialized = The module {0} is not yet initialized
  -prefix.AlreadyAssigned = You want to assign {0} as prefix for namespace {1} but it is already assigned for {2}
  -signature.Canonicalizer.UnknownCanonicalizer = Unknown canonicalizer. No handler installed for URI {0}
  -signature.DSA.invalidFormat = Invalid ASN.1 encoding of the DSA signature
  -signature.Generation.signBeforeGetValue = You have to XMLSignature.sign(java.security.PrivateKey) first
  -signature.signaturePropertyHasNoTarget = The Target attribute of the SignatureProperty must be set
  -signature.Transform.ErrorDuringTransform = A {1} was thrown during the {0} transform
  -signature.Transform.NotYetImplemented = Transform {0} not yet implemented
  -signature.Transform.NullPointerTransform = Null pointer as URI. Programming bug?
  -signature.Transform.UnknownTransform = Unknown transformation. No handler installed for URI {0}
  -signature.Util.BignumNonPositive = bigInteger.signum() must be positive
  -signature.Util.NonTextNode = Not a text node
  -signature.Util.TooManyChilds = Too many childs of Type {0} in {1}
  -signature.Verification.certificateError = Certificate error
  -signature.Verification.IndexOutOfBounds = Index {0} illegal. We only have {1} References
  -signature.Verification.internalError = Internal error
  -signature.Verification.InvalidDigestOrReference = Invalid digest of reference {0}
  -signature.Verification.keyStore = KeyStore error
  -signature.Verification.MissingID = Cannot resolve element with ID {0}
  -signature.Verification.MissingResources = Cannot resolve external resource {0}
  -signature.Verification.NoSignatureElement = Input document contains no {0} Element in namespace {1}
  -signature.Verification.Reference.NoInput = The Reference for URI {0} has no XMLSignatureInput
  -signature.Verification.SignatureError = Signature error
  -signature.XMLSignatureInput.MissingConstuctor = Cannot construct a XMLSignatureInput from class {0}
  -signature.XMLSignatureInput.SerializeDOM = Input initialized with DOM Element. Use Canonicalization to serialize it
  -transform.Init.IllegalContextArgument = Invalid context argument of class {0}. Must be String, org.w3c.dom.NodeList or java.io.InputStream.
  -transform.init.NotInitialized =
  -transform.init.wrongURI = Initialized with wrong URI. How could this happen? We implement {0} but {1} was used during initialization
  -utils.Base64.IllegalBitlength = Illegal byte length; Data to be decoded must be a multiple of 4
  -utils.resolver.noClass = Could not find a resolver for URI {0} and Base {1}
  -xml.WrongContent = Cannot find {0} in {1}
  -xml.WrongElement = Cannot create a {0} from a {1} element
  -xpath.funcHere.documentsDiffer = The XPath is not in the same document as the context node
  -xpath.funcHere.noXPathContext = Try to evaluate an XPath which uses the here() function but XPath is not inside an ds:XPath Element. XPath was : {0}
  +algorithm.alreadyRegistered = URI {0} already assigned to class {1}
  +algorithm.classDoesNotExist = Cannot register URI {0} to class {1} because this class does not exist in CLASSPATH
  +algorithm.ClassDoesNotExist = Class {0} does not exist
  +algorithm.extendsWrongClass = Cannot register URI {0} to class {1} because it does not extend {2}
  +algorithms.CannotUseAlgorithmParameterSpecOnDSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating DSA signatures.
  +algorithms.CannotUseAlgorithmParameterSpecOnRSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating RSA signatures.
  +algorithms.CannotUseSecureRandomOnMAC = Sorry, but you cannot use a SecureRandom object for creating MACs.
  +algorithms.HMACOutputLengthOnlyForHMAC = A HMACOutputLength can only be specified for HMAC integrity algorithms
  +algorithms.NoSuchAlgorithm = The requested algorithm {0} does not exist. Original Message was: {1}
  +algorithms.NoSuchMap = The algorithm URI "{0}" could not be mapped to a JCE algorithm
  +algorithms.NoSuchProvider = The specified Provider {0} does not exist. Original Message was: {1}
  +algorithms.operationOnlyVerification = A public key can only used for verification of a signature.
  +algorithms.WrongKeyForThisOperation = Sorry, you supplied the wrong key type for this operation! You supplied a {0} but a {1} is needed.
  +attributeValueIllegal = The attribute {0} has value {1} but must be {2}
  +c14n.Canonicalizer.Exception = Exception during Canonicalization:  Original Message was {0}
  +c14n.Canonicalizer.IllegalNode = Illegal node type {0}, node name was {1}
  +c14n.Canonicalizer.NoSuchCanonicalizer = No canonicalizer found with URI {0}
  +c14n.Canonicalizer.ParserConfigurationException = ParserConfigurationException during Canonicalization:  Original Message was {0}
  +c14n.Canonicalizer.RelativeNamespace = Element {0} has a relative namespace: {1}="{2}"
  +c14n.Canonicalizer.SAXException = SAXException during Canonicalization:  Original Message was {0}
  +c14n.Canonicalizer.TraversalNotSupported = This DOM document does not support Traversal {0}
  +c14n.Canonicalizer.UnsupportedEncoding = Unsupported encoding {0}
  +c14n.Canonicalizer.UnsupportedOperation = This canonicalizer does not support this operation
  +c14n.XMLUtils.circumventBug2650forgotten = The tree has not been prepared for canonicalization using XMLUtils#circumventBug2650(Document)
  +certificate.noSki.lowVersion = Certificate cannot contain a SubjectKeyIdentifier because it is only X509v{0}
  +certificate.noSki.notOctetString = Certificates SubjectKeyIdentifier is not a OctetString
  +certificate.noSki.null = Certificate does not contain a SubjectKeyIdentifier
  +defaultNamespaceCannotBeSetHere = Default namespace cannot be set here
  +ElementProxy.nullElement = Cannot create an ElementProxy from a null argument
  +empty = {0}
  +encryption.algorithmCannotBeUsedForEncryptedData = encryption.algorithmCannotBeUsedForEncryptedData {0}
  +encryption.algorithmCannotEatInitParams = encryption.algorithmCannotEatInitParams
  +encryption.algorithmCannotEncryptDecrypt = encryption.algorithmCannotEncryptDecrypt
  +encryption.algorithmCannotWrapUnWrap = encryption.algorithmCannotWrapUnWrap
  +encryption.ExplicitKeySizeMismatch = The xenc:KeySize element requests a key size of {0} bit but the algorithm implements {1} bit
  +encryption.nonceLongerThanDecryptedPlaintext = The given nonce is longer than the available plaintext. I Cannot strip away this.
  +encryption.RSAOAEP.dataHashWrong = data hash wrong
  +encryption.RSAOAEP.dataStartWrong = data wrong start {0}
  +encryption.RSAOAEP.dataTooShort = data too short
  +encryption.RSAPKCS15.blockTruncated = block truncated
  +encryption.RSAPKCS15.noDataInBlock = no data in block
  +encryption.RSAPKCS15.unknownBlockType = unknown block type
  +encryption.nokey = No Key Encryption Key loaded and cannot determine using key resolvers
  +endorsed.jdk1.4.0 = Since it seems that nobody reads our installation notes, we must do it in the exception messages. Hope you read them. You did NOT use the endorsed mechanism from JDK 1.4 properly; look at <http://xml.apache.org/security/Java/installation.html> how to solve this problem.
  +errorMessages.InvalidDigestValueException = INVALID signature -- check reference resolution.
  +errorMessages.InvalidSignatureValueException = INVALID signature -- core validation failed.
  +errorMessages.IOException = Other file I/O and similar exceptions.
  +errorMessages.MissingKeyFailureException = Cannot verify because of missing public key. Provide it via addResource and try again.
  +errorMessages.MissingResourceFailureException = Cannot verify because of unresolved references. Provide it via addResource and try again.
  +errorMessages.NoSuchAlgorithmException = Unknown Algorithm {0}
  +errorMessages.NotYetImplementedException = Functionality not yet there.
  +errorMessages.XMLSignatureException = Verification failed for some other reason.
  +decoding.general = Error while decoding
  +FileKeyStorageImpl.addToDefaultFromRemoteNotImplemented = Method addToDefaultFromRemote() not yet implemented.
  +FileKeyStorageImpl.NoCert.Context = Not found such a X509Certificate including context {0}
  +FileKeyStorageImpl.NoCert.IssNameSerNo = Not found such a X509Certificate with IssuerName {0} and serial number {1}
  +FileKeyStorageImpl.NoCert.SubjName = Not found such a X509Certificate including SubjectName {0}
  +generic.dontHaveConstructionElement = I do not have a construction Element
  +generic.EmptyMessage = {0}
  +generic.NotYetImplemented = {0} Not YET implemented ;-((
  +java.security.InvalidKeyException = Invalid key
  +java.security.NoSuchProviderException = Unknown or unsupported provider
  +java.security.UnknownKeyType = Unknown or unsupported key type {0}
  +KeyInfo.needKeyResolver = More than one keyResovler have to be registered
  +KeyInfo.nokey = Cannot get key from {0}
  +KeyInfo.noKey = Cannot get the public key
  +KeyInfo.wrongNumberOfObject = Need {0} keyObjects
  +KeyInfo.wrongUse = This object was made for getting {0}
  +keyResolver.alreadyRegistered = {1} class has already been registered for {0}
  +KeyResolver.needStorageResolver = Need a StorageResolver to retrieve a Certificate from a {0}
  +KeyResoverSpiImpl.cannotGetCert = Cannot get the Certificate that include or in {1} in implement class {0}
  +KeyResoverSpiImpl.elementGeneration = Cannot make {1} element in implement class {0}
  +KeyResoverSpiImpl.getPoublicKey = Cannot get the public key from implement class {0}
  +KeyResoverSpiImpl.InvalidElement = Cannot set (2) Element in implement class {0}
  +KeyResoverSpiImpl.keyStore = KeyStorage error in implement class {0}
  +KeyResoverSpiImpl.need.Element = {1} type of Element is needed in implement class {0}
  +KeyResoverSpiImpl.wrongCRLElement = Cannot make CRL from {1} in implement class {0}
  +KeyResoverSpiImpl.wrongKeyObject =  Need {1} type of KeyObject for generation Element in implement class{0}
  +KeyResoverSpiImpl.wrongNumberOfObject = Need {1} keyObject in implement class {0}
  +KeyStore.alreadyRegistered = {0} Class has already been registered for {1}
  +KeyStore.register = {1} type class register error  in class {0}
  +KeyStore.registerStore.register = Registeration error for type {0}
  +KeyValue.IllegalArgument = Cannot create a {0} from {1}
  +namespacePrefixAlreadyUsedByOtherURI = Namespace prefix {0} already used by other URI {1}
  +notYetInitialized = The module {0} is not yet initialized
  +prefix.AlreadyAssigned = You want to assign {0} as prefix for namespace {1} but it is already assigned for {2}
  +signature.Canonicalizer.UnknownCanonicalizer = Unknown canonicalizer. No handler installed for URI {0}
  +signature.DSA.invalidFormat = Invalid ASN.1 encoding of the DSA signature
  +signature.Generation.signBeforeGetValue = You have to XMLSignature.sign(java.security.PrivateKey) first
  +signature.signaturePropertyHasNoTarget = The Target attribute of the SignatureProperty must be set
  +signature.Transform.ErrorDuringTransform = A {1} was thrown during the {0} transform
  +signature.Transform.NotYetImplemented = Transform {0} not yet implemented
  +signature.Transform.NullPointerTransform = Null pointer as URI. Programming bug?
  +signature.Transform.UnknownTransform = Unknown transformation. No handler installed for URI {0}
  +signature.Util.BignumNonPositive = bigInteger.signum() must be positive
  +signature.Util.NonTextNode = Not a text node
  +signature.Util.TooManyChilds = Too many childs of Type {0} in {1}
  +signature.Verification.certificateError = Certificate error
  +signature.Verification.IndexOutOfBounds = Index {0} illegal. We only have {1} References
  +signature.Verification.internalError = Internal error
  +signature.Verification.InvalidDigestOrReference = Invalid digest of reference {0}
  +signature.Verification.keyStore = KeyStore error
  +signature.Verification.MissingID = Cannot resolve element with ID {0}
  +signature.Verification.MissingResources = Cannot resolve external resource {0}
  +signature.Verification.NoSignatureElement = Input document contains no {0} Element in namespace {1}
  +signature.Verification.Reference.NoInput = The Reference for URI {0} has no XMLSignatureInput
  +signature.Verification.SignatureError = Signature error
  +signature.XMLSignatureInput.MissingConstuctor = Cannot construct a XMLSignatureInput from class {0}
  +signature.XMLSignatureInput.SerializeDOM = Input initialized with DOM Element. Use Canonicalization to serialize it
  +transform.Init.IllegalContextArgument = Invalid context argument of class {0}. Must be String, org.w3c.dom.NodeList or java.io.InputStream.
  +transform.init.NotInitialized =
  +transform.init.wrongURI = Initialized with wrong URI. How could this happen? We implement {0} but {1} was used during initialization
  +utils.Base64.IllegalBitlength = Illegal byte length; Data to be decoded must be a multiple of 4
  +utils.resolver.noClass = Could not find a resolver for URI {0} and Base {1}
  +xml.WrongContent = Cannot find {0} in {1}
  +xml.WrongElement = Cannot create a {0} from a {1} element
  +xpath.funcHere.documentsDiffer = The XPath is not in the same document as the context node
  +xpath.funcHere.noXPathContext = Try to evaluate an XPath which uses the here() function but XPath is not inside an ds:XPath Element. XPath was : {0}
  
  
  
  1.16      +14 -14    xml-security/src/org/apache/xml/security/utils/Base64.java
  
  Index: Base64.java
  ===================================================================
  RCS file: /home/cvs/xml-security/src/org/apache/xml/security/utils/Base64.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Base64.java	23 Sep 2004 20:23:19 -0000	1.15
  +++ Base64.java	13 Nov 2004 23:31:24 -0000	1.16
  @@ -576,7 +576,7 @@
          //first last bits.
          if (!isData( (d1 = base64Data[dataIndex++]) ) ||
               !isData( (d2 = base64Data[dataIndex++]) )) {
  -                throw new Base64DecodingException("Error while decoding");//if found "no data" just return null
  +                throw new Base64DecodingException("decoding.general");//if found "no data" just return null
           }
   
           b1 = base64Alphabet[d1];
  @@ -588,18 +588,18 @@
               !isData( (d4 ) )) {//Check if they are PAD characters
               if (isPad( d3 ) && isPad( d4)) {               //Two PAD e.g. 3c[Pad][Pad]
                   if ((b2 & 0xf) != 0)//last 4 bits should be zero
  -                        throw new Base64DecodingException("Error while decoding");
  +                        throw new Base64DecodingException("decoding.general");
                   decodedData = new byte[ encodedIndex + 1 ];                
                   decodedData[encodedIndex]   = (byte)(  b1 <<2 | b2>>4 ) ;                
               } else if (!isPad( d3) && isPad(d4)) {               //One PAD  e.g. 3cQ[Pad]
                   b3 = base64Alphabet[ d3 ];
                   if ((b3 & 0x3 ) != 0)//last 2 bits should be zero
  -                        throw new Base64DecodingException("Error while decoding");
  +                        throw new Base64DecodingException("decoding.general");
                   decodedData = new byte[ encodedIndex + 2 ];                
                   decodedData[encodedIndex++] = (byte)(  b1 <<2 | b2>>4 );
                   decodedData[encodedIndex]   = (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) );                
               } else {
  -                throw new Base64DecodingException("Error while decoding");//an error  like "3c[Pad]r", "3cdX", "3cXd", "3cXX" where X is non data
  +                throw new Base64DecodingException("decoding.general");//an error  like "3c[Pad]r", "3cdX", "3cXd", "3cXX" where X is non data
               }
           } else {
               //No PAD e.g 3cQl
  @@ -619,7 +619,7 @@
                  !isData( (d2 = base64Data[dataIndex++]) )||
                  !isData( (d3 = base64Data[dataIndex++]) )||
                  !isData( (d4 = base64Data[dataIndex++]) ))
  -            throw new Base64DecodingException("Error while decoding");//if found "no data" just return null
  +            throw new Base64DecodingException("decoding.general");//if found "no data" just return null
   
              b1 = base64Alphabet[d1];
              b2 = base64Alphabet[d2];
  @@ -671,7 +671,7 @@
               !isData( (d2 = base64Data[dataIndex++]) )||
               !isData( (d3 = base64Data[dataIndex++]) )||
               !isData( (d4 = base64Data[dataIndex++]) ))
  -         throw new Base64DecodingException("Error while decoding");//if found "no data" just return null
  +         throw new Base64DecodingException("decoding.general");//if found "no data" just return null
   
           b1 = base64Alphabet[d1];
           b2 = base64Alphabet[d2];
  @@ -685,7 +685,7 @@
   //  first last bits.
       if (!isData( (d1 = base64Data[dataIndex++]) ) ||
            !isData( (d2 = base64Data[dataIndex++]) )) {
  -             throw new Base64DecodingException("Error while decoding");//if found "no data" just return null
  +             throw new Base64DecodingException("decoding.general");//if found "no data" just return null
        }
   
        b1 = base64Alphabet[d1];
  @@ -697,16 +697,16 @@
            !isData( (d4 ) )) {//Check if they are PAD characters
            if (isPad( d3 ) && isPad( d4)) {               //Two PAD e.g. 3c[Pad][Pad]
                if ((b2 & 0xf) != 0)//last 4 bits should be zero
  -                     throw new Base64DecodingException("Error while decoding");                             
  +                     throw new Base64DecodingException("decoding.general");                             
                os.write( (byte)(  b1 <<2 | b2>>4 ) );                
            } else if (!isPad( d3) && isPad(d4)) {               //One PAD  e.g. 3cQ[Pad]
                b3 = base64Alphabet[ d3 ];
                if ((b3 & 0x3 ) != 0)//last 2 bits should be zero
  -                     throw new Base64DecodingException("Error while decoding");                            
  +                     throw new Base64DecodingException("decoding.general");                            
                os.write( (byte)(  b1 <<2 | b2>>4 ));
                os.write( (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) ));                
            } else {
  -             throw new Base64DecodingException("Error while decoding");//an error  like "3c[Pad]r", "3cdX", "3cXd", "3cXX" where X is non data
  +             throw new Base64DecodingException("decoding.general");//an error  like "3c[Pad]r", "3cdX", "3cXd", "3cXX" where X is non data
            }
        } else {
            //No PAD e.g 3cQl         
  @@ -752,7 +752,7 @@
               break;   
           }
           if (!isData(readed)) {
  -         throw new Base64DecodingException("Error while decoding");//if found "no data" just return null
  +         throw new Base64DecodingException("decoding.general");//if found "no data" just return null
           } 
           
           data[index++]=readed;
  @@ -779,16 +779,16 @@
            !isData( (d4 ) )) {//Check if they are PAD characters
            if (isPad( d3 ) && isPad( d4)) {               //Two PAD e.g. 3c[Pad][Pad]
                if ((b2 & 0xf) != 0)//last 4 bits should be zero
  -                     throw new Base64DecodingException("Error while decoding");                             
  +                     throw new Base64DecodingException("decoding.general");                             
                os.write( (byte)(  b1 <<2 | b2>>4 ) );                
            } else if (!isPad( d3) && isPad(d4)) {               //One PAD  e.g. 3cQ[Pad]
                b3 = base64Alphabet[ d3 ];
                if ((b3 & 0x3 ) != 0)//last 2 bits should be zero
  -                     throw new Base64DecodingException("Error while decoding");                            
  +                     throw new Base64DecodingException("decoding.general");                            
                os.write( (byte)(  b1 <<2 | b2>>4 ));
                os.write( (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) ));                
            } else {
  -             throw new Base64DecodingException("Error while decoding");//an error  like "3c[Pad]r", "3cdX", "3cXd", "3cXX" where X is non data
  +             throw new Base64DecodingException("decoding.general");//an error  like "3c[Pad]r", "3cdX", "3cXd", "3cXX" where X is non data
            }
        } else {
            //No PAD e.g 3cQl