16: mandatory-script-verify-flag-failed (Non-canonical DER signature) (code -26) I try to send transaction via sendrawtransaction in console of bitcoind.

Sig is:


  30440220494800937E4ECB15319266127A0334E94D25DFD2F594E8F846A3E7B5F36C362B0220750237958D23D390E6137B251399C5A5CE335DEC850D99A090EF3CC43259E5E301


bitcoind answer is:


  16: mandatory-script-verify-flag-failed (Non-canonical DER signature) (code -26)


Who knows why?

TX raw:


  0100000001A000000008A4730440220494800937E4ECB15319266127A0334E94D25DFD2F594E8F846A3E7B5F36C362B0220750237958D23D390E6137B251399C5A5CE335DEC850D99A090EF3CC43259E5E3014104BFFFFFFFF01C1976A914D88AC0000000001000000


A = 32 bytes of TXhash of "from" transaction

B = 64 bytes of my public key

C = 8 bytes value of BTC that I try to send

D = 20 bytes of "to" address
This error means your signature failed some sanity checks designed to prevent accidental network forks due to non-standard but still valid signature encodings. This function in the script interpreter performs the actual check.

However, I took a look at your signature, and I can't find anything wrong with it (looking at it manually, not actually running the code). Is it possible the preceding byte is wrong, so the signature isn't pushed completely onto the stack?

EDIT:

I actually ran the signature checking algorithm on your signature.
The code I used is here.

There is, indeed, nothing wrong with the signature itself. How did you generate it, and what does the rest of the transaction look like?