|
| 1 | +package puppetservice |
| 2 | + |
| 3 | +import "context" |
| 4 | + |
| 5 | +// TLSInsecureServerCertCommonName Common Name: |
| 6 | +// - Server Name Indication (SNI) |
| 7 | +// - Case insensitive |
| 8 | +// Wechaty Token format: `${SNI}/${UUIDv4}` |
| 9 | +const TLSInsecureServerCertCommonName = "insecure" |
| 10 | + |
| 11 | +// TLSCaCert Wechaty Certificate Authority Repo: |
| 12 | +/* https://github.com/wechaty/dotenv/tree/main/ca |
| 13 | +
|
| 14 | +The SSL_ROOT_CERT is a root certificate generated by and for wechaty community. |
| 15 | +
|
| 16 | +Because it's the default root cert for the puppet service, |
| 17 | + so all the Polyglot Wechaty SDK should set this cert to be trusted by default. |
| 18 | +
|
| 19 | +Update: |
| 20 | + - Huan(202108): init, expired in 3650 days (after 2031/07) |
| 21 | +*/ |
| 22 | +const TLSCaCert = `-----BEGIN CERTIFICATE----- |
| 23 | +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 |
| 54 | +-----END CERTIFICATE-----` |
| 55 | + |
| 56 | +type callCredToken struct { |
| 57 | + token string |
| 58 | +} |
| 59 | + |
| 60 | +func (r callCredToken) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) { |
| 61 | + return map[string]string{ |
| 62 | + "authorization": "Wechaty " + r.token, |
| 63 | + }, nil |
| 64 | +} |
| 65 | + |
| 66 | +func (r callCredToken) RequireTransportSecurity() bool { |
| 67 | + return true |
| 68 | +} |
0 commit comments