/// <summary> /// Sign a hash of the input data using the supplied Signature Provider and encrypt with the private key. /// </summary> /// <param name="dataBytes">Data to be hashed and signed</param> /// <param name="signatureProvider">The signature provider to use for signature generation.</param> /// <returns>Signed hash bytes</returns> public byte[] SignData(byte[] dataBytes, ISignatureProvider signatureProvider) { if (m_isBusy == true) { throw new CryptographicException("Operation cannot be performed while a current key generation operation is in progress."); } if (m_KeyLoaded == false) { throw new CryptographicException("No key has been loaded. You must import a key or make a call to GenerateKeys() before performing data operations."); } //Key validation is done in the DoEncryptPrivate method. return(DoEncryptPrivate(signatureProvider.EncodeSignature(dataBytes, m_RSAParams))); }
/// <summary> /// Sign a hash of the input data using the supplied Signature Provider and encrypt with the private key. /// </summary> /// <param name="dataBytes">Data to be hashed and signed</param> /// <param name="signatureProvider">The signature provider to use for signature generation.</param> /// <returns>Signed hash bytes</returns> public byte[] SignData(byte[] dataBytes, ISignatureProvider signatureProvider) { if (m_isBusy == true) throw new CryptographicException("Operation cannot be performed while a current key generation operation is in progress."); if (m_KeyLoaded == false) throw new CryptographicException("No key has been loaded. You must import a key or make a call to GenerateKeys() before performing data operations."); //Key validation is done in the DoEncryptPrivate method. return DoEncryptPrivate(signatureProvider.EncodeSignature(dataBytes, m_RSAParams)); }