/********EXTERNAL OBJECT PUBLIC METHODS - END ********/ private String Sign(PrivateKey key, string hashAlgorithm, Stream input) { PrivateKeyManager keyMan = (PrivateKeyManager)key; if (keyMan.HasError()) { this.error = keyMan.GetError(); return(""); } AsymmetricSigningAlgorithm asymmetricSigningAlgorithm = AsymmetricSigningAlgorithmUtils .GetAsymmetricSigningAlgorithm(keyMan.getPrivateKeyAlgorithm(), this.error); if (this.HasError()) { return(""); } ISigner signer = AsymmetricSigningAlgorithmUtils.GetSigner(asymmetricSigningAlgorithm, GetHash(hashAlgorithm), this.error); if (this.HasError()) { return(""); } SetUpSigner(signer, input, keyMan.getPrivateKeyParameterForSigning(), true); if (this.HasError()) { return(""); } byte[] outputBytes = null; try { outputBytes = signer.GenerateSignature(); } catch (Exception e) { error.setError("AE01", e.Message); return(""); } String result = ""; try { result = Base64.ToBase64String(outputBytes); } catch (Exception e) { error.setError("AE018", e.Message); return(""); } return(result); }