runner: Rename CertificateChain to Credential
After https://boringssl-review.googlesource.com/c/boringssl/+/62565 just
renamed it. :-)
This is in preparation for the type being used to test the
SSL_CREDENTIAL machinery. Since we'll be using this to specify a
credential on the shim, let's just make the name match.
Bug: 249
Change-Id: I03e95d120266ccef2111f9bff4c97cef30deb7d3
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/66667
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/ssl/test/runner/cipher_suites.go b/ssl/test/runner/cipher_suites.go
index 656a8c1..4702df6 100644
--- a/ssl/test/runner/cipher_suites.go
+++ b/ssl/test/runner/cipher_suites.go
@@ -28,8 +28,8 @@
// In the case that the key agreement protocol doesn't use a
// ServerKeyExchange message, generateServerKeyExchange can return nil,
// nil.
- generateServerKeyExchange(*Config, *CertificateChain, *clientHelloMsg, *serverHelloMsg, uint16) (*serverKeyExchangeMsg, error)
- processClientKeyExchange(*Config, *CertificateChain, *clientKeyExchangeMsg, uint16) ([]byte, error)
+ generateServerKeyExchange(*Config, *Credential, *clientHelloMsg, *serverHelloMsg, uint16) (*serverKeyExchangeMsg, error)
+ processClientKeyExchange(*Config, *Credential, *clientKeyExchangeMsg, uint16) ([]byte, error)
// On the client side, the next two methods are called in order.
diff --git a/ssl/test/runner/common.go b/ssl/test/runner/common.go
index 69d8a69..873a4c7 100644
--- a/ssl/test/runner/common.go
+++ b/ssl/test/runner/common.go
@@ -441,9 +441,9 @@
// If Time is nil, TLS uses time.Now.
Time func() time.Time
- // Chain contains the certificate chain to present to the other side of
+ // Credential contains the credential to present to the other side of
// the connection. Server configurations must include this field.
- Chain *CertificateChain
+ Credential *Credential
// RootCAs defines the set of root certificate authorities
// that clients use when verifying server certificates.
@@ -1842,7 +1842,7 @@
// RenegotiationCertificate, if not nil, is the certificate to use on
// renegotiation handshakes.
- RenegotiationCertificate *CertificateChain
+ RenegotiationCertificate *Credential
// ExpectNoCertificateAuthoritiesExtension, if true, causes the client to
// reject CertificateRequest with the CertificateAuthorities extension.
@@ -2139,8 +2139,10 @@
return supportedSignatureAlgorithms
}
-// A CertificateChain is a chain of one or more certificates, leaf first.
-type CertificateChain struct {
+// A Credential is a certificate chain and private key that a TLS endpoint may
+// use to authenticate.
+type Credential struct {
+ // Certificate is a chain of one or more certificates, leaf first.
Certificate [][]byte
PrivateKey crypto.PrivateKey // supported types: *rsa.PrivateKey, *ecdsa.PrivateKey
// OCSPStaple contains an optional OCSP response which will be served
@@ -2384,10 +2386,10 @@
var tmpDir string
-func generateSingleCertChain(template *x509.Certificate, key crypto.Signer, ocspStaple, sctList []byte) CertificateChain {
+func generateSingleCertChain(template *x509.Certificate, key crypto.Signer, ocspStaple, sctList []byte) Credential {
cert := generateTestCert(template, nil, key, ocspStaple, sctList)
tmpCertPath, tmpKeyPath := writeTempCertFile([]*x509.Certificate{cert}), writeTempKeyFile(key)
- return CertificateChain{
+ return Credential{
Certificate: [][]byte{cert.Raw},
PrivateKey: key,
OCSPStaple: ocspStaple,
diff --git a/ssl/test/runner/handshake_client.go b/ssl/test/runner/handshake_client.go
index 94e1db3..c23223b 100644
--- a/ssl/test/runner/handshake_client.go
+++ b/ssl/test/runner/handshake_client.go
@@ -1184,7 +1184,7 @@
return err
}
- var chainToSend *CertificateChain
+ var credential *Credential
var certReq *certificateRequestMsg
if c.didResume {
// Copy over authentication from the session.
@@ -1214,7 +1214,7 @@
hs.writeServerHash(certReq.marshal())
- chainToSend = c.config.Chain
+ credential = c.config.Credential
msg, err = c.readHandshake()
if err != nil {
return err
@@ -1435,8 +1435,8 @@
hasRequestContext: true,
requestContext: certReq.requestContext,
}
- if chainToSend != nil {
- for _, certData := range chainToSend.Certificate {
+ if credential != nil {
+ for _, certData := range credential.Certificate {
certMsg.certificates = append(certMsg.certificates, certificateEntry{
data: certData,
extraExtension: c.config.Bugs.SendExtensionOnCertificate,
@@ -1446,13 +1446,13 @@
hs.writeClientHash(certMsg.marshal())
c.writeRecord(recordTypeHandshake, certMsg.marshal())
- if chainToSend != nil {
+ if credential != nil {
certVerify := &certificateVerifyMsg{
hasSignatureAlgorithm: true,
}
// Determine the hash to sign.
- privKey := chainToSend.PrivateKey
+ privKey := credential.PrivateKey
var err error
certVerify.signatureAlgorithm, err = selectSignatureAlgorithm(c.vers, privKey, c.config, certReq.signatureAlgorithms)
@@ -1692,7 +1692,7 @@
}
}
- var chainToSend *CertificateChain
+ var credential *Credential
var certRequested bool
certReq, ok := msg.(*certificateRequestMsg)
if ok {
@@ -1703,7 +1703,7 @@
hs.writeServerHash(certReq.marshal())
- chainToSend = c.config.Chain
+ credential = c.config.Credential
msg, err = c.readHandshake()
if err != nil {
return err
@@ -1722,8 +1722,8 @@
// a certificate to send.
if certRequested && !c.config.Bugs.SkipClientCertificate {
certMsg := new(certificateMsg)
- if chainToSend != nil {
- for _, certData := range chainToSend.Certificate {
+ if credential != nil {
+ for _, certData := range credential.Certificate {
certMsg.certificates = append(certMsg.certificates, certificateEntry{
data: certData,
})
@@ -1760,13 +1760,13 @@
hs.masterSecret = masterFromPreMasterSecret(c.vers, hs.suite, preMasterSecret, hs.hello.random, hs.serverHello.random)
}
- if chainToSend != nil {
+ if credential != nil {
certVerify := &certificateVerifyMsg{
hasSignatureAlgorithm: c.vers >= VersionTLS12,
}
// Determine the hash to sign.
- privKey := c.config.Chain.PrivateKey
+ privKey := c.config.Credential.PrivateKey
if certVerify.hasSignatureAlgorithm {
certVerify.signatureAlgorithm, err = selectSignatureAlgorithm(c.vers, privKey, c.config, certReq.signatureAlgorithms)
diff --git a/ssl/test/runner/handshake_server.go b/ssl/test/runner/handshake_server.go
index d3f6392..64c982d 100644
--- a/ssl/test/runner/handshake_server.go
+++ b/ssl/test/runner/handshake_server.go
@@ -36,7 +36,7 @@
finishedHash finishedHash
masterSecret []byte
certsFromClient [][]byte
- cert *CertificateChain
+ cert *Credential
finishedBytes []byte
echHPKEContext *hpke.Context
echConfigID uint8
@@ -1587,11 +1587,11 @@
if len(hs.clientHello.serverName) > 0 {
c.serverName = hs.clientHello.serverName
}
- if config.Chain == nil {
+ if config.Credential == nil {
c.sendAlert(alertInternalError)
return errors.New("tls: no certificates configured")
}
- hs.cert = config.Chain
+ hs.cert = config.Credential
if expected := c.config.Bugs.ExpectServerName; expected != "" && expected != hs.clientHello.serverName {
return fmt.Errorf("tls: unexpected server name: wanted %q, got %q", expected, hs.clientHello.serverName)
}
diff --git a/ssl/test/runner/key_agreement.go b/ssl/test/runner/key_agreement.go
index e513852..c3aee9a 100644
--- a/ssl/test/runner/key_agreement.go
+++ b/ssl/test/runner/key_agreement.go
@@ -39,7 +39,7 @@
exportKey *rsa.PrivateKey
}
-func (ka *rsaKeyAgreement) generateServerKeyExchange(config *Config, cert *CertificateChain, clientHello *clientHelloMsg, hello *serverHelloMsg, version uint16) (*serverKeyExchangeMsg, error) {
+func (ka *rsaKeyAgreement) generateServerKeyExchange(config *Config, cert *Credential, clientHello *clientHelloMsg, hello *serverHelloMsg, version uint16) (*serverKeyExchangeMsg, error) {
// Save the client version for comparison later.
ka.clientVersion = clientHello.vers
@@ -96,7 +96,7 @@
return skx, nil
}
-func (ka *rsaKeyAgreement) processClientKeyExchange(config *Config, cert *CertificateChain, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
+func (ka *rsaKeyAgreement) processClientKeyExchange(config *Config, cert *Credential, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
preMasterSecret := make([]byte, 48)
_, err := io.ReadFull(config.rand(), preMasterSecret[2:])
if err != nil {
@@ -453,7 +453,7 @@
// keyAgreementAuthentication is a helper interface that specifies how
// to authenticate the ServerKeyExchange parameters.
type keyAgreementAuthentication interface {
- signParameters(config *Config, cert *CertificateChain, clientHello *clientHelloMsg, hello *serverHelloMsg, params []byte) (*serverKeyExchangeMsg, error)
+ signParameters(config *Config, cert *Credential, clientHello *clientHelloMsg, hello *serverHelloMsg, params []byte) (*serverKeyExchangeMsg, error)
verifyParameters(config *Config, clientHello *clientHelloMsg, serverHello *serverHelloMsg, key crypto.PublicKey, params []byte, sig []byte) error
}
@@ -461,7 +461,7 @@
// agreement parameters.
type nilKeyAgreementAuthentication struct{}
-func (ka *nilKeyAgreementAuthentication) signParameters(config *Config, cert *CertificateChain, clientHello *clientHelloMsg, hello *serverHelloMsg, params []byte) (*serverKeyExchangeMsg, error) {
+func (ka *nilKeyAgreementAuthentication) signParameters(config *Config, cert *Credential, clientHello *clientHelloMsg, hello *serverHelloMsg, params []byte) (*serverKeyExchangeMsg, error) {
skx := new(serverKeyExchangeMsg)
skx.key = params
return skx, nil
@@ -479,7 +479,7 @@
peerSignatureAlgorithm signatureAlgorithm
}
-func (ka *signedKeyAgreement) signParameters(config *Config, cert *CertificateChain, clientHello *clientHelloMsg, hello *serverHelloMsg, params []byte) (*serverKeyExchangeMsg, error) {
+func (ka *signedKeyAgreement) signParameters(config *Config, cert *Credential, clientHello *clientHelloMsg, hello *serverHelloMsg, params []byte) (*serverKeyExchangeMsg, error) {
// The message to be signed is prepended by the randoms.
var msg []byte
msg = append(msg, clientHello.random...)
@@ -585,7 +585,7 @@
peerKey []byte
}
-func (ka *ecdheKeyAgreement) generateServerKeyExchange(config *Config, cert *CertificateChain, clientHello *clientHelloMsg, hello *serverHelloMsg, version uint16) (*serverKeyExchangeMsg, error) {
+func (ka *ecdheKeyAgreement) generateServerKeyExchange(config *Config, cert *Credential, clientHello *clientHelloMsg, hello *serverHelloMsg, version uint16) (*serverKeyExchangeMsg, error) {
var curveid CurveID
preferredCurves := config.curvePreferences()
@@ -636,7 +636,7 @@
return ka.auth.signParameters(config, cert, clientHello, hello, serverECDHParams)
}
-func (ka *ecdheKeyAgreement) processClientKeyExchange(config *Config, cert *CertificateChain, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
+func (ka *ecdheKeyAgreement) processClientKeyExchange(config *Config, cert *Credential, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
if len(ckx.ciphertext) == 0 || int(ckx.ciphertext[0]) != len(ckx.ciphertext)-1 {
return nil, errClientKeyExchange
}
@@ -703,11 +703,11 @@
// exchange.
type nilKeyAgreement struct{}
-func (ka *nilKeyAgreement) generateServerKeyExchange(config *Config, cert *CertificateChain, clientHello *clientHelloMsg, hello *serverHelloMsg, version uint16) (*serverKeyExchangeMsg, error) {
+func (ka *nilKeyAgreement) generateServerKeyExchange(config *Config, cert *Credential, clientHello *clientHelloMsg, hello *serverHelloMsg, version uint16) (*serverKeyExchangeMsg, error) {
return nil, nil
}
-func (ka *nilKeyAgreement) processClientKeyExchange(config *Config, cert *CertificateChain, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
+func (ka *nilKeyAgreement) processClientKeyExchange(config *Config, cert *Credential, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
if len(ckx.ciphertext) != 0 {
return nil, errClientKeyExchange
}
@@ -755,7 +755,7 @@
identityHint string
}
-func (ka *pskKeyAgreement) generateServerKeyExchange(config *Config, cert *CertificateChain, clientHello *clientHelloMsg, hello *serverHelloMsg, version uint16) (*serverKeyExchangeMsg, error) {
+func (ka *pskKeyAgreement) generateServerKeyExchange(config *Config, cert *Credential, clientHello *clientHelloMsg, hello *serverHelloMsg, version uint16) (*serverKeyExchangeMsg, error) {
// Assemble the identity hint.
bytes := make([]byte, 2+len(config.PreSharedKeyIdentity))
bytes[0] = byte(len(config.PreSharedKeyIdentity) >> 8)
@@ -782,7 +782,7 @@
return skx, nil
}
-func (ka *pskKeyAgreement) processClientKeyExchange(config *Config, cert *CertificateChain, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
+func (ka *pskKeyAgreement) processClientKeyExchange(config *Config, cert *Credential, ckx *clientKeyExchangeMsg, version uint16) ([]byte, error) {
// First, process the PSK identity.
if len(ckx.ciphertext) < 2 {
return nil, errClientKeyExchange
diff --git a/ssl/test/runner/runner.go b/ssl/test/runner/runner.go
index 0aa0d21..5f1cc75 100644
--- a/ssl/test/runner/runner.go
+++ b/ssl/test/runner/runner.go
@@ -208,21 +208,21 @@
var testSCTExtension = append([]byte{byte(extensionSignedCertificateTimestamp) >> 8, byte(extensionSignedCertificateTimestamp), 0, byte(len(testSCTList))}, testSCTList...)
var (
- rsaCertificate CertificateChain
- rsaChainCertificate CertificateChain
- rsa1024Certificate CertificateChain
- ecdsaP224Certificate CertificateChain
- ecdsaP256Certificate CertificateChain
- ecdsaP384Certificate CertificateChain
- ecdsaP521Certificate CertificateChain
- ed25519Certificate CertificateChain
- garbageCertificate CertificateChain
+ rsaCertificate Credential
+ rsaChainCertificate Credential
+ rsa1024Certificate Credential
+ ecdsaP224Certificate Credential
+ ecdsaP256Certificate Credential
+ ecdsaP384Certificate Credential
+ ecdsaP521Certificate Credential
+ ed25519Certificate Credential
+ garbageCertificate Credential
)
func initCertificates() {
for _, def := range []struct {
key crypto.Signer
- out *CertificateChain
+ out *Credential
}{
{&rsa1024Key, &rsa1024Certificate},
{&rsa2048Key, &rsaCertificate},
@@ -256,7 +256,7 @@
keyPath := writeTempKeyFile(&rsa2048Key)
rootCertPath, chainPath := writeTempCertFile([]*x509.Certificate{rootCert}), writeTempCertFile([]*x509.Certificate{leafCert, intermediateCert})
- rsaChainCertificate = CertificateChain{
+ rsaChainCertificate = Credential{
Certificate: [][]byte{leafCert.Raw, intermediateCert.Raw},
PrivateKey: &rsa2048Key,
OCSPStaple: testOCSPResponse,
@@ -500,7 +500,7 @@
curveID CurveID
// peerCertificate, if not nil, is the certificate chain the peer is
// expected to send.
- peerCertificate *CertificateChain
+ peerCertificate *Credential
// quicTransportParams contains the QUIC transport parameters that are to be
// sent by the peer using codepoint 57.
quicTransportParams []byte
@@ -662,7 +662,7 @@
skipVersionNameCheck bool
// shimCertificate, if populated, is the certificate/chain which should be sent
// by the server/client (this populates the -cert-file and -key-file flags).
- shimCertificate *CertificateChain
+ shimCertificate *Credential
}
var testCases []testCase
@@ -1330,8 +1330,8 @@
if test.resumeConfig != nil {
resumeConfig = *test.resumeConfig
resumeConfig.Rand = config.Rand
- if resumeConfig.Chain == nil {
- resumeConfig.Chain = config.Chain
+ if resumeConfig.Credential == nil {
+ resumeConfig.Credential = config.Credential
}
} else {
resumeConfig = config
@@ -1580,11 +1580,11 @@
flags = append(flags, "-write-settings", transcriptPrefix)
}
- if test.testType == clientTest && test.config.Chain == nil {
- test.config.Chain = &rsaCertificate
+ if test.testType == clientTest && test.config.Credential == nil {
+ test.config.Credential = &rsaCertificate
}
- if test.config.Chain != nil {
- flags = append(flags, "-trust-cert", test.config.Chain.RootPath)
+ if test.config.Credential != nil {
+ flags = append(flags, "-trust-cert", test.config.Credential.RootPath)
}
flags = append(flags, test.flags...)
@@ -2056,7 +2056,7 @@
name: "ServerSkipCertificateVerify",
config: Config{
MaxVersion: VersionTLS12,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
SkipCertificateVerify: true,
},
@@ -3554,14 +3554,14 @@
testCases = append(testCases, testCase{
name: "LargeMessage",
config: Config{
- Chain: &cert,
+ Credential: &cert,
},
})
testCases = append(testCases, testCase{
protocol: dtls,
name: "LargeMessage-DTLS",
config: Config{
- Chain: &cert,
+ Credential: &cert,
},
})
@@ -3569,7 +3569,7 @@
testCases = append(testCases, testCase{
name: "LargeMessage-Reject",
config: Config{
- Chain: &cert,
+ Credential: &cert,
},
flags: []string{"-max-cert-list", "16384"},
shouldFail: true,
@@ -3579,7 +3579,7 @@
protocol: dtls,
name: "LargeMessage-Reject-DTLS",
config: Config{
- Chain: &cert,
+ Credential: &cert,
},
flags: []string{"-max-cert-list", "16384"},
shouldFail: true,
@@ -3627,7 +3627,7 @@
}
prefix := protocol.String() + "-"
- var cert CertificateChain
+ var cert Credential
if hasComponent(suite.name, "ECDSA") {
cert = ecdsaP256Certificate
} else {
@@ -3680,7 +3680,7 @@
MinVersion: ver.version,
MaxVersion: ver.version,
CipherSuites: []uint16{suite.id},
- Chain: &cert,
+ Credential: &cert,
PreSharedKey: []byte(psk),
PreSharedKeyIdentity: pskIdentity,
Bugs: ProtocolBugs{
@@ -3703,7 +3703,7 @@
MinVersion: ver.version,
MaxVersion: ver.version,
CipherSuites: serverCipherSuites,
- Chain: &cert,
+ Credential: &cert,
PreSharedKey: []byte(psk),
PreSharedKeyIdentity: pskIdentity,
Bugs: ProtocolBugs{
@@ -3730,7 +3730,7 @@
MinVersion: ver.version,
MaxVersion: ver.version,
CipherSuites: []uint16{suite.id},
- Chain: &cert,
+ Credential: &cert,
PreSharedKey: []byte(psk),
PreSharedKeyIdentity: pskIdentity,
},
@@ -3757,7 +3757,7 @@
MinVersion: ver.version,
MaxVersion: ver.version,
CipherSuites: []uint16{suite.id},
- Chain: &cert,
+ Credential: &cert,
PreSharedKey: []byte(psk),
PreSharedKeyIdentity: pskIdentity,
},
@@ -3897,7 +3897,7 @@
config: Config{
MaxVersion: VersionTLS12,
CipherSuites: []uint16{TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
SendCipherSuite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
},
@@ -3910,7 +3910,7 @@
config: Config{
MaxVersion: VersionTLS12,
CipherSuites: []uint16{TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256},
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
Bugs: ProtocolBugs{
SendCipherSuite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
},
@@ -3923,7 +3923,7 @@
config: Config{
MaxVersion: VersionTLS12,
CipherSuites: []uint16{TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256},
- Chain: &ed25519Certificate,
+ Credential: &ed25519Certificate,
Bugs: ProtocolBugs{
SendCipherSuite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
},
@@ -4089,7 +4089,7 @@
config: Config{
MaxVersion: VersionTLS12,
CipherSuites: []uint16{TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256},
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
Bugs: ProtocolBugs{
BadECDSAR: badR,
BadECDSAS: badS,
@@ -4102,7 +4102,7 @@
name: fmt.Sprintf("BadECDSA-%d-%d-TLS13", badR, badS),
config: Config{
MaxVersion: VersionTLS13,
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
Bugs: ProtocolBugs{
BadECDSAR: badR,
BadECDSAS: badS,
@@ -4213,7 +4213,7 @@
func addClientAuthTests() {
// Add a dummy cert pool to stress certificate authority parsing.
certPool := x509.NewCertPool()
- for _, cert := range []CertificateChain{rsaCertificate, rsa1024Certificate} {
+ for _, cert := range []Credential{rsaCertificate, rsa1024Certificate} {
cert, err := x509.ParseCertificate(cert.Certificate[0])
if err != nil {
panic(err)
@@ -4240,7 +4240,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{"-require-any-client-certificate"},
})
@@ -4250,7 +4250,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
},
flags: []string{"-require-any-client-certificate"},
})
@@ -4382,7 +4382,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
ExpectCertificateReqNames: caNames,
},
@@ -4399,7 +4399,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
ClientAuth: RequireAnyClientCert,
ClientCAs: certPool,
},
@@ -4451,7 +4451,7 @@
name: "Null-Client-CA-List",
config: Config{
MaxVersion: VersionTLS12,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
ExpectCertificateReqNames: [][]byte{},
},
@@ -4468,7 +4468,7 @@
name: "TLS13-Empty-Client-CA-List",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
ExpectNoCertificateAuthoritiesExtension: true,
},
@@ -5066,7 +5066,7 @@
name: "ClientAuth-Server",
config: Config{
MaxVersion: VersionTLS12,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{"-require-any-client-certificate"},
})
@@ -5076,7 +5076,7 @@
name: "ClientAuth-Server-TLS13",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{"-require-any-client-certificate"},
})
@@ -5202,7 +5202,7 @@
name: "ClientOCSPCallback-Pass-" + vers.name,
config: Config{
MaxVersion: vers.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{
"-enable-ocsp-stapling",
@@ -5220,7 +5220,7 @@
name: "ClientOCSPCallback-Fail-" + vers.name,
config: Config{
MaxVersion: vers.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{
"-enable-ocsp-stapling",
@@ -5240,7 +5240,7 @@
name: "ClientOCSPCallback-FailNoStaple-" + vers.name,
config: Config{
MaxVersion: vers.version,
- Chain: &certNoStaple,
+ Credential: &certNoStaple,
},
flags: []string{
"-enable-ocsp-stapling",
@@ -5350,7 +5350,7 @@
name: "CertificateVerificationSucceed" + suffix,
config: Config{
MaxVersion: vers.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: append([]string{"-expect-verify-result"}, flags...),
resumeSession: true,
@@ -5360,7 +5360,7 @@
name: "CertificateVerificationFail" + suffix,
config: Config{
MaxVersion: vers.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: append([]string{"-verify-fail"}, flags...),
shouldFail: true,
@@ -5373,7 +5373,7 @@
name: "CertificateVerificationDoesNotFailOnResume" + suffix,
config: Config{
MaxVersion: vers.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: append([]string{"-on-resume-verify-fail"}, flags...),
resumeSession: true,
@@ -5384,7 +5384,7 @@
name: "CertificateVerificationFailsOnResume" + suffix,
config: Config{
MaxVersion: vers.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: append([]string{
"-on-resume-verify-fail",
@@ -5400,7 +5400,7 @@
name: "CertificateVerificationPassesOnResume" + suffix,
config: Config{
MaxVersion: vers.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: append([]string{
"-reverify-on-resume",
@@ -5531,7 +5531,7 @@
name: "CertificateVerificationSoftFail-" + vers.name,
config: Config{
MaxVersion: vers.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{
"-verify-fail",
@@ -8391,7 +8391,7 @@
testType: clientTest,
config: Config{
MaxVersion: ver.version,
- Chain: &emptySCTListCert,
+ Credential: &emptySCTListCert,
},
flags: []string{
"-enable-signed-cert-timestamps",
@@ -8410,7 +8410,7 @@
testType: clientTest,
config: Config{
MaxVersion: ver.version,
- Chain: &emptySCTCert,
+ Credential: &emptySCTCert,
},
flags: []string{
"-enable-signed-cert-timestamps",
@@ -8643,7 +8643,7 @@
testType: serverTest,
config: Config{
MaxVersion: VersionTLS13,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
SendExtensionOnCertificate: testOCSPExtension,
},
@@ -8673,7 +8673,7 @@
name: "IgnoreExtensionsOnIntermediates-TLS13",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &rsaChainCertificate,
+ Credential: &rsaChainCertificate,
Bugs: ProtocolBugs{
// Send different values on the intermediate. This tests
// the intermediate's extensions do not override the
@@ -9735,7 +9735,7 @@
name: "Renegotiation-CertificateChange",
config: Config{
MaxVersion: VersionTLS12,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
RenegotiationCertificate: &rsaChainCertificate,
},
@@ -9749,7 +9749,7 @@
name: "Renegotiation-CertificateChange-2",
config: Config{
MaxVersion: VersionTLS12,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
RenegotiationCertificate: &rsa1024Certificate,
},
@@ -9858,7 +9858,7 @@
var testSignatureAlgorithms = []struct {
name string
id signatureAlgorithm
- cert *CertificateChain
+ cert *Credential
// If non-zero, the curve that must be supported in TLS 1.2 for cert to be
// accepted.
curve CurveID
@@ -10023,7 +10023,7 @@
name: prefix + "Verify" + suffix,
config: Config{
MaxVersion: ver.version,
- Chain: alg.cert,
+ Credential: alg.cert,
SignSignatureAlgorithms: []signatureAlgorithm{
alg.id,
},
@@ -10054,7 +10054,7 @@
name: prefix + "VerifyDefault" + suffix,
config: Config{
MaxVersion: ver.version,
- Chain: alg.cert,
+ Credential: alg.cert,
SignSignatureAlgorithms: []signatureAlgorithm{
alg.id,
},
@@ -10083,7 +10083,7 @@
name: prefix + "InvalidSignature" + suffix,
config: Config{
MaxVersion: ver.version,
- Chain: alg.cert,
+ Credential: alg.cert,
SignSignatureAlgorithms: []signatureAlgorithm{
alg.id,
},
@@ -10240,7 +10240,7 @@
name: "Verify-ClientAuth-SignatureType",
config: Config{
MaxVersion: VersionTLS12,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureRSAPKCS1WithSHA256,
},
@@ -10260,7 +10260,7 @@
name: "Verify-ClientAuth-SignatureType-TLS13",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureRSAPSSWithSHA256,
},
@@ -10417,7 +10417,7 @@
name: "ClientAuth-Enforced",
config: Config{
MaxVersion: VersionTLS12,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureRSAPKCS1WithMD5,
},
@@ -10450,7 +10450,7 @@
name: "ClientAuth-Enforced-TLS13",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureRSAPKCS1WithMD5,
},
@@ -10600,7 +10600,7 @@
config: Config{
MaxVersion: VersionTLS12,
CipherSuites: []uint16{TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256},
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
},
flags: []string{"-curves", strconv.Itoa(int(CurveP384))},
shouldFail: true,
@@ -10612,7 +10612,7 @@
name: "CheckLeafCurve-TLS13",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
},
flags: []string{"-curves", strconv.Itoa(int(CurveP384))},
})
@@ -10623,7 +10623,7 @@
config: Config{
MaxVersion: VersionTLS12,
CipherSuites: []uint16{TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256},
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureECDSAWithP384AndSHA384,
},
@@ -10635,7 +10635,7 @@
name: "ECDSACurveMismatch-Verify-TLS13",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureECDSAWithP384AndSHA384,
},
@@ -10713,7 +10713,7 @@
name: "NoEd25519-TLS11-ServerAuth-Verify",
config: Config{
MaxVersion: VersionTLS11,
- Chain: &ed25519Certificate,
+ Credential: &ed25519Certificate,
Bugs: ProtocolBugs{
// Sign with Ed25519 even though it is TLS 1.1.
SigningAlgorithmForLegacyVersions: signatureEd25519,
@@ -10738,7 +10738,7 @@
name: "NoEd25519-TLS11-ClientAuth-Verify",
config: Config{
MaxVersion: VersionTLS11,
- Chain: &ed25519Certificate,
+ Credential: &ed25519Certificate,
Bugs: ProtocolBugs{
// Sign with Ed25519 even though it is TLS 1.1.
SigningAlgorithmForLegacyVersions: signatureEd25519,
@@ -10768,7 +10768,7 @@
testType: clientTest,
name: "Ed25519DefaultDisable-NoAdvertise",
config: Config{
- Chain: &ed25519Certificate,
+ Credential: &ed25519Certificate,
},
shouldFail: true,
expectedLocalError: "tls: no common signature algorithms",
@@ -10780,7 +10780,7 @@
testType: clientTest,
name: "Ed25519DefaultDisable-NoAccept",
config: Config{
- Chain: &ed25519Certificate,
+ Credential: &ed25519Certificate,
Bugs: ProtocolBugs{
IgnorePeerSignatureAlgorithmPreferences: true,
},
@@ -10795,7 +10795,7 @@
testCases = append(testCases, testCase{
name: "VerifyPreferences-Advertised",
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureRSAPSSWithSHA256,
signatureRSAPSSWithSHA384,
@@ -10813,7 +10813,7 @@
testCases = append(testCases, testCase{
name: "VerifyPreferences-NoCommonAlgorithms",
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureRSAPSSWithSHA256,
signatureRSAPSSWithSHA512,
@@ -10830,7 +10830,7 @@
testCases = append(testCases, testCase{
name: "VerifyPreferences-Enforced",
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
SignSignatureAlgorithms: []signatureAlgorithm{
signatureRSAPSSWithSHA256,
signatureRSAPSSWithSHA512,
@@ -10852,7 +10852,7 @@
testCases = append(testCases, testCase{
name: "VerifyPreferences-Ed25519",
config: Config{
- Chain: &ed25519Certificate,
+ Credential: &ed25519Certificate,
},
flags: []string{
"-verify-prefs", strconv.Itoa(int(signatureEd25519)),
@@ -10905,7 +10905,7 @@
name: prefix + "NoVerify-RSA_PKCS1_MD5_SHA1",
config: Config{
MaxVersion: ver.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
Bugs: ProtocolBugs{
IgnorePeerSignatureAlgorithmPreferences: true,
AlwaysSignAsLegacyVersion: true,
@@ -13082,7 +13082,7 @@
protocol: protocol,
name: "ClientCertificate" + suffix,
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
MaxVersion: VersionTLS12,
},
flags: []string{"-require-any-client-certificate"},
@@ -13096,7 +13096,7 @@
protocol: protocol,
name: "CertificateVerify" + suffix,
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
MaxVersion: VersionTLS12,
},
flags: []string{"-require-any-client-certificate"},
@@ -13272,7 +13272,7 @@
protocol: protocol,
name: "TLS13-ClientCertificate" + suffix,
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
MaxVersion: VersionTLS13,
},
flags: []string{"-require-any-client-certificate"},
@@ -13286,7 +13286,7 @@
protocol: protocol,
name: "TLS13-ClientCertificateVerify" + suffix,
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
MaxVersion: VersionTLS13,
},
flags: []string{"-require-any-client-certificate"},
@@ -14284,11 +14284,11 @@
name: "EarlyData-RejectTicket-Client-TLS13",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
resumeConfig: &Config{
MaxVersion: VersionTLS13,
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
SessionTicketsDisabled: true,
},
resumeSession: true,
@@ -14379,11 +14379,11 @@
name: "EarlyData-HRR-RejectTicket-Client-TLS13",
config: Config{
MaxVersion: VersionTLS13,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
resumeConfig: &Config{
MaxVersion: VersionTLS13,
- Chain: &ecdsaP256Certificate,
+ Credential: &ecdsaP256Certificate,
SessionTicketsDisabled: true,
Bugs: ProtocolBugs{
SendHelloRetryRequestCookie: []byte{1, 2, 3, 4},
@@ -15035,7 +15035,7 @@
config: Config{
MinVersion: VersionTLS13,
MaxVersion: VersionTLS13,
- Chain: &rsaChainCertificate,
+ Credential: &rsaChainCertificate,
Bugs: ProtocolBugs{
SkipCertificateVerify: true,
},
@@ -15057,7 +15057,7 @@
config: Config{
MinVersion: VersionTLS13,
MaxVersion: VersionTLS13,
- Chain: &rsaChainCertificate,
+ Credential: &rsaChainCertificate,
Bugs: ProtocolBugs{
SkipCertificateVerify: true,
},
@@ -15423,7 +15423,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &rsaChainCertificate,
+ Credential: &rsaChainCertificate,
ClientAuth: RequireAnyClientCert,
},
expectations: connectionExpectations{
@@ -15441,7 +15441,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &rsaChainCertificate,
+ Credential: &rsaChainCertificate,
},
expectations: connectionExpectations{
peerCertificate: &rsaChainCertificate,
@@ -15460,7 +15460,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &garbageCertificate,
+ Credential: &garbageCertificate,
},
shouldFail: true,
expectedError: ":CANNOT_PARSE_LEAF_CERT:",
@@ -15473,7 +15473,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &garbageCertificate,
+ Credential: &garbageCertificate,
},
flags: []string{"-require-any-client-certificate"},
shouldFail: true,
@@ -15510,7 +15510,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{
"-verify-peer",
@@ -15531,7 +15531,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{
"-verify-peer",
@@ -15551,7 +15551,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{
"-verify-peer",
@@ -15599,7 +15599,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &cert,
+ Credential: &cert,
},
shouldFail: true,
expectedError: ":KEY_USAGE_BIT_INCORRECT:",
@@ -15611,7 +15611,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &cert,
+ Credential: &cert,
},
flags: []string{"-require-any-client-certificate"},
shouldFail: true,
@@ -15674,7 +15674,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &encCert,
+ Credential: &encCert,
CipherSuites: dsSuites,
},
shouldFail: true,
@@ -15687,7 +15687,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &dsCert,
+ Credential: &dsCert,
CipherSuites: dsSuites,
},
})
@@ -15700,7 +15700,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &encCert,
+ Credential: &encCert,
CipherSuites: encSuites,
},
})
@@ -15711,7 +15711,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &dsCert,
+ Credential: &dsCert,
CipherSuites: encSuites,
},
shouldFail: true,
@@ -15725,7 +15725,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &dsCert,
+ Credential: &dsCert,
CipherSuites: encSuites,
},
flags: []string{"-expect-key-usage-invalid", "-ignore-rsa-key-usage"},
@@ -15737,7 +15737,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &encCert,
+ Credential: &encCert,
CipherSuites: dsSuites,
},
flags: []string{"-expect-key-usage-invalid", "-ignore-rsa-key-usage"},
@@ -15752,7 +15752,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &encCert,
+ Credential: &encCert,
CipherSuites: dsSuites,
},
flags: []string{"-ignore-rsa-key-usage"},
@@ -15768,7 +15768,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &encCert,
+ Credential: &encCert,
},
shouldFail: true,
expectedError: ":KEY_USAGE_BIT_INCORRECT:",
@@ -15781,7 +15781,7 @@
config: Config{
MinVersion: ver.version,
MaxVersion: ver.version,
- Chain: &dsCert,
+ Credential: &dsCert,
},
flags: []string{"-require-any-client-certificate"},
})
@@ -17367,7 +17367,7 @@
protocol: protocol,
name: prefix + "ECH-Server-ClientAuth",
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
ClientECHConfig: echConfig.ECHConfig,
},
flags: []string{
@@ -17386,7 +17386,7 @@
protocol: protocol,
name: prefix + "ECH-Server-Decline-ClientAuth",
config: Config{
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
ClientECHConfig: echConfig.ECHConfig,
Bugs: ProtocolBugs{
ExpectECHRetryConfigs: CreateECHConfigList(echConfig1.ECHConfig.Raw),
@@ -19078,7 +19078,7 @@
config: Config{
MinVersion: VersionTLS13,
MaxVersion: VersionTLS13,
- Chain: &rsaCertificate,
+ Credential: &rsaCertificate,
},
flags: []string{
"-allow-hint-mismatch",
@@ -19290,7 +19290,7 @@
isWPACipherSuite = true
}
- var cert CertificateChain
+ var cert Credential
if hasComponent(suite.name, "ECDSA") {
cert = ecdsaP384Certificate
} else {
@@ -19338,7 +19338,7 @@
MinVersion: VersionTLS12,
MaxVersion: maxVersion,
CipherSuites: []uint16{suite.id},
- Chain: &cert,
+ Credential: &cert,
},
flags: []string{
policy.flag,
@@ -19491,7 +19491,7 @@
MinVersion: VersionTLS12,
MaxVersion: maxVersion,
SignSignatureAlgorithms: []signatureAlgorithm{sigalg.id},
- Chain: sigalg.cert,
+ Credential: sigalg.cert,
},
flags: []string{
policy.flag,
diff --git a/ssl/test/runner/tls.go b/ssl/test/runner/tls.go
index d283e77..b2b35a3 100644
--- a/ssl/test/runner/tls.go
+++ b/ssl/test/runner/tls.go
@@ -73,7 +73,7 @@
// The configuration config must be non-nil and must have
// at least one certificate.
func Listen(network, laddr string, config *Config) (net.Listener, error) {
- if config == nil || config.Chain == nil {
+ if config == nil || config.Credential == nil {
return nil, errors.New("tls.Listen: no certificates in configuration")
}
l, err := net.Listen(network, laddr)
@@ -173,7 +173,7 @@
// LoadX509KeyPair reads and parses a public/private key pair from a pair of
// files. The files must contain PEM encoded data.
-func LoadX509KeyPair(certFile, keyFile string) (cert CertificateChain, err error) {
+func LoadX509KeyPair(certFile, keyFile string) (cert Credential, err error) {
certPEMBlock, err := os.ReadFile(certFile)
if err != nil {
return
@@ -187,7 +187,7 @@
// X509KeyPair parses a public/private key pair from a pair of
// PEM encoded data.
-func X509KeyPair(certPEMBlock, keyPEMBlock []byte) (cert CertificateChain, err error) {
+func X509KeyPair(certPEMBlock, keyPEMBlock []byte) (cert Credential, err error) {
var certDERBlock *pem.Block
for {
certDERBlock, certPEMBlock = pem.Decode(certPEMBlock)