11package dtls
22
33import (
4+ "crypto/dsa" //nolint
5+ "crypto/rand"
6+ "crypto/rsa"
47 "crypto/tls"
5- "crypto/x509"
6- "encoding/pem"
78 "errors"
89 "testing"
910
@@ -68,14 +69,20 @@ func TestValidateConfig(t *testing.T) {
6869 }
6970
7071 // Invalid private key
71- block , _ := pem . Decode ([] byte ( rawPrivateKey ))
72- rsaKey , err := x509 . ParsePKCS1PrivateKey ( block . Bytes )
72+ dsaPrivateKey := & dsa. PrivateKey {}
73+ err = dsa . GenerateParameters ( & dsaPrivateKey . Parameters , rand . Reader , dsa . L1024N160 )
7374 if err != nil {
74- t .Fatalf ("TestValidateConfig: Config validation error(%v), parsing RSA private key" , err )
75+ t .Fatalf ("TestValidateConfig: Config validation error(%v), DSA parameters not generated" , err )
76+ return
77+ }
78+ err = dsa .GenerateKey (dsaPrivateKey , rand .Reader )
79+ if err != nil {
80+ t .Fatalf ("TestValidateConfig: Config validation error(%v), DSA private key not generated" , err )
81+ return
7582 }
7683 config = & Config {
7784 CipherSuites : []CipherSuiteID {TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 },
78- Certificates : []tls.Certificate {{Certificate : cert .Certificate , PrivateKey : rsaKey }},
85+ Certificates : []tls.Certificate {{Certificate : cert .Certificate , PrivateKey : dsaPrivateKey }},
7986 }
8087 if err = validateConfig (config ); ! errors .Is (err , errInvalidPrivateKey ) {
8188 t .Fatalf ("TestValidateConfig: Client error exp(%v) failed(%v)" , errInvalidPrivateKey , err )
@@ -97,9 +104,14 @@ func TestValidateConfig(t *testing.T) {
97104 }
98105
99106 // Valid config
107+ rsaPrivateKey , err := rsa .GenerateKey (rand .Reader , 2048 )
108+ if err != nil {
109+ t .Fatalf ("TestValidateConfig: Config validation error(%v), RSA private key not generated" , err )
110+ return
111+ }
100112 config = & Config {
101113 CipherSuites : []CipherSuiteID {TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 },
102- Certificates : []tls.Certificate {cert },
114+ Certificates : []tls.Certificate {cert , { Certificate : cert . Certificate , PrivateKey : rsaPrivateKey } },
103115 }
104116 if err = validateConfig (config ); err != nil {
105117 t .Fatalf ("TestValidateConfig: Client error exp(%v) failed(%v)" , nil , err )
0 commit comments