signature_interceptor.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package middleware
  2. //
  3. //type encryptedRequest struct {
  4. // Message interface{} `json:"ciphertext"`
  5. // Nonce string `json:"nonce"` // 添加随机字符串
  6. // Timestamp int64 `json:"timestamp"` // 添加时间戳
  7. //}
  8. //
  9. //// 签名验证拦截器
  10. //func SignatureInterceptor(ctx context.Context, req interface{}) (interface{}, error) {
  11. // return handler(ctx, req)
  12. //}
  13. //
  14. //// 验证签名
  15. //func verifySignature(message []byte, signature string, publicKey *rsa.PublicKey) bool {
  16. // hash := sha256.Sum256(message)
  17. // signatureBytes, err := base64.StdEncoding.DecodeString(signature)
  18. // if err != nil {
  19. // return false
  20. // }
  21. // err = rsa.VerifyPKCS1v15(publicKey, crypto.SHA256, hash[:], signatureBytes)
  22. // return err == nil
  23. //}
  24. //
  25. //func parsePublicKeyFromPEM() (pubKey *rsa.PublicKey, err error) {
  26. // pemBlock, err := os.ReadFile("./config/rsa_public_key.pem")
  27. // block, _ := pem.Decode(pemBlock)
  28. // if block == nil {
  29. // logger.Error("公钥解析失败")
  30. // }
  31. // pubInterface, err := x509.ParsePKIXPublicKey(block.Bytes)
  32. // pubKey, ok := pubInterface.(*rsa.PublicKey)
  33. // if !ok {
  34. // logger.Error("公钥解析失败")
  35. // }
  36. // if err != nil {
  37. // return nil, err
  38. // }
  39. // return
  40. //}