MCPcopy
hub / github.com/grpc/grpc-go / createProviders

Function createProviders

security/advancedtls/advancedtls_integration_test.go:499–535  ·  view source on GitHub ↗

Create PEMFileProvider(s) watching the content changes of temporary files.

(tmpFiles *tmpCredsFiles)

Source from the content-addressed store, hash-verified

497// Create PEMFileProvider(s) watching the content changes of temporary
498// files.
499func createProviders(tmpFiles *tmpCredsFiles) (certprovider.Provider, certprovider.Provider, certprovider.Provider, certprovider.Provider, error) {
500 clientIdentityOptions := pemfile.Options{
501 CertFile: tmpFiles.clientCertTmp.Name(),
502 KeyFile: tmpFiles.clientKeyTmp.Name(),
503 RefreshDuration: credRefreshingInterval,
504 }
505 clientIdentityProvider, err := pemfile.NewProvider(clientIdentityOptions)
506 if err != nil {
507 return nil, nil, nil, nil, err
508 }
509 clientRootOptions := pemfile.Options{
510 RootFile: tmpFiles.clientTrustTmp.Name(),
511 RefreshDuration: credRefreshingInterval,
512 }
513 clientRootProvider, err := pemfile.NewProvider(clientRootOptions)
514 if err != nil {
515 return nil, nil, nil, nil, err
516 }
517 serverIdentityOptions := pemfile.Options{
518 CertFile: tmpFiles.serverCertTmp.Name(),
519 KeyFile: tmpFiles.serverKeyTmp.Name(),
520 RefreshDuration: credRefreshingInterval,
521 }
522 serverIdentityProvider, err := pemfile.NewProvider(serverIdentityOptions)
523 if err != nil {
524 return nil, nil, nil, nil, err
525 }
526 serverRootOptions := pemfile.Options{
527 RootFile: tmpFiles.serverTrustTmp.Name(),
528 RefreshDuration: credRefreshingInterval,
529 }
530 serverRootProvider, err := pemfile.NewProvider(serverRootOptions)
531 if err != nil {
532 return nil, nil, nil, nil, err
533 }
534 return clientIdentityProvider, clientRootProvider, serverIdentityProvider, serverRootProvider, nil
535}
536
537// In order to test advanced TLS provider features, we used temporary files to
538// hold credential data, and copy the contents under testdata/ to these tmp

Callers 1

Calls 2

NewProviderFunction · 0.92
NameMethod · 0.65

Tested by

no test coverage detected