Sure ethereum signature is 65, but secp256k1 is 64

RangeError: signature length is invalid

  
Web3 = require("web3")  
var web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546');  
  
const secp256k1 = require('secp256k1')  
// or require('secp256k1/elliptic')  
//   if you want to use pure js implementation in node  
  
  
//ethereum test  https://github.com/ethereum/go-ethereum/blob/461291882edce0ac4a28f64c4e8725b7f57cbeae/crypto/signature_test.go  
msg = web3.utils.hexToBytes("0xd301ce462d3e639518f482c7f03821fec1e602018630ce621e1e7851c12343a6")  
signature = web3.utils.hexToBytes("0x638a54215d80a6713c8d523a6adc4e6e73652d859103a36b700851cb0e61b66b8ebfc1a610c57d732ec6e0a8f06a9a7a28df5051ece514702ff9cdff0b11f454")  
pubkey = web3.utils.hexToBytes("0x03ca634cae0d49acb401d8a4c6b6fe8c55b70d115bf400769cc1400f3258cd3138")  
console.log(secp256k1.verify(msg, signature, pubKey))