code: func unmarshalSignature(sig []byte) (r *big.Int, s *big.Int, err error) {
  	var ts signature
  	_, err = asn1.Unmarshal(sig, &ts)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	return ts.R, ts.S, nil
  }
docs: // unmarshalSignature returns the R and S integers from the given ASN.1
  // encoded signature.