jrebelprivatekey.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package main
  2. import (
  3. "crypto"
  4. "crypto/rand"
  5. "crypto/rsa"
  6. "crypto/x509"
  7. "encoding/pem"
  8. "fmt"
  9. "github.com/pkg/errors"
  10. )
  11. // pem private key
  12. const privateKey = `-----BEGIN PRIVATE KEY-----
  13. MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAND3cI/pKMSd4OLMIXU/8xoEZ/nz
  14. a+g00Vy7ygyGB1Nn83qpro7tckOvUVILJoN0pKw8J3E8rtjhSyr9849qzaQKBhxFL+J5uu08QVn/
  15. tMt+Tf0cu5MSPOjT8I2+NWyBZ6H0FjOcVrEUMvHt8sqoJDrDU4pJyex2rCOlpfBeqK6XAgMBAAEC
  16. gYBM5C+8FIxWxM1CRuCs1yop0aM82vBC0mSTXdo7/3lknGSAJz2/A+o+s50Vtlqmll4drkjJJw4j
  17. acsR974OcLtXzQrZ0G1ohCM55lC3kehNEbgQdBpagOHbsFa4miKnlYys537Wp+Q61mhGM1weXzos
  18. gCH/7e/FjJ5uS6DhQc0Y+QJBAP43hlSSEo1BbuanFfp55yK2Y503ti3Rgf1SbE+JbUvIIRsvB24x
  19. Ha1/IZ+ttkAuIbOUomLN7fyyEYLWphIy9kUCQQDSbqmxZaJNRa1o4ozGRORxR2KBqVn3EVISXqNc
  20. UH3gAP52U9LcnmA3NMSZs8tzXhUhYkWQ75Q6umXvvDm4XZ0rAkBoymyWGeyJy8oyS/fUW0G63mIr
  21. oZZ4Rp+F098P3j9ueJ2k/frbImXwabJrhwjUZe/Afel+PxL2ElUDkQW+BMHdAkEAk/U7W4Aanjpf
  22. s1+Xm9DUztFicciheRa0njXspvvxhY8tXAWUPYseG7L+iRPh+Twtn0t5nm7VynVFN0shSoCIAQJA
  23. Ljo7A6bzsvfnJpV+lQiOqD/WCw3A2yPwe+1d0X/13fQkgzcbB3K0K81Euo/fkKKiBv0A7yR7wvrN
  24. jzefE9sKUw==
  25. -----END PRIVATE KEY-----`
  26. func testSign(data []byte) (signature []byte, err error) {
  27. block, _ := pem.Decode([]byte(privateKey))
  28. if block == nil {
  29. return nil, errors.New("Decode key error, current block is null")
  30. }
  31. priv, err := x509.ParsePKCS8PrivateKey(block.Bytes)
  32. if err != nil {
  33. fmt.Println(err)
  34. return
  35. }
  36. h := crypto.Hash.New(crypto.SHA1)
  37. h.Write([]byte(data))
  38. hashed := h.Sum(nil)
  39. signature, err = rsa.SignPKCS1v15(rand.Reader, priv.(*rsa.PrivateKey), crypto.SHA1, hashed)
  40. return
  41. }
  42. type SHA1withRSA struct {
  43. privateKey *rsa.PrivateKey
  44. }
  45. func sign(privateKey []byte, encryptData []byte) (res []byte, err error) {
  46. //rsa, err := x509.ParsePKCS8PrivateKey(privateKey)
  47. return
  48. }