func (c *tlsCreds) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {
	return nil, nil
}
GetRequestMetadata returns nil, nil since TLS credentials does not have
metadata.
package credentials  
import (
	"crypto/tls"
	"crypto/x509"
	"fmt"
	"io/ioutil"
	"net"
	"strings"
	"golang.org/x/net/context"
)
var (
	alpnProtoStr = []string{"h2"}
)
type PerRPCCredentials interface {
	GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error)
	RequireTransportSecurity() bool
}
type ProtocolInfo struct {
	ProtocolVersion string
	SecurityProtocol string
	SecurityVersion string
}
type AuthInfo interface {
	AuthType() string
}
type TransportCredentials interface {
	ClientHandshake(context.Context, string, net.Conn) (net.Conn, AuthInfo, error)
	ServerHandshake(net.Conn) (net.Conn, AuthInfo, error)
	Info() ProtocolInfo
}
type TLSInfo struct {
	State tls.ConnectionState
}
func (t TLSInfo) AuthType() string {
	return "tls"
}
type tlsCreds struct {
	config *tls.Config
}
func (c tlsCreds) Info() ProtocolInfo {
	return ProtocolInfo{
		SecurityProtocol: "tls",
		SecurityVersion:  "1.2",
	}
}