This repository has been archived by the owner on Aug 4, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xsumsa01_tls_interoperability.ptc
100 lines (100 loc) · 7.4 KB
/
xsumsa01_tls_interoperability.ptc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
\select@language {english}
\contentsline {chapter}{\numberline {1}Introduction}{3}{chapter.1}
\contentsline {section}{\numberline {1.1}Structure of the Document}{3}{section.1.1}
\contentsline {chapter}{\numberline {2}Secure Sockets Layer / Transport Layer Security}{4}{chapter.2}
\contentsline {section}{\numberline {2.1}Overview}{4}{section.2.1}
\contentsline {section}{\numberline {2.2}TLS Protocols}{5}{section.2.2}
\contentsline {subsection}{\numberline {2.2.1}TLS Record Protocol}{5}{subsection.2.2.1}
\contentsline {subsection}{\numberline {2.2.2}TLS Handshake Protocol}{6}{subsection.2.2.2}
\contentsline {subsubsection}{\texttt {HelloRequest}}{8}{section*.2}
\contentsline {subsubsection}{\texttt {ClientHello}}{8}{section*.3}
\contentsline {subsubsection}{\texttt {ServerHello}}{8}{section*.4}
\contentsline {subsubsection}{\texttt {Certificate}}{8}{section*.5}
\contentsline {subsubsection}{\texttt {ServerKeyExchange}}{9}{section*.6}
\contentsline {subsubsection}{\texttt {CertificateRequest}}{9}{section*.7}
\contentsline {subsubsection}{\texttt {ServerHelloDone}}{9}{section*.8}
\contentsline {subsubsection}{\texttt {ClientKeyExchange}}{9}{section*.9}
\contentsline {subsubsection}{\texttt {CertificateVerify}}{9}{section*.10}
\contentsline {subsubsection}{\texttt {Finished}}{9}{section*.11}
\contentsline {subsection}{\numberline {2.2.3}TLS Change Cipher Spec Protocol}{10}{subsection.2.2.3}
\contentsline {subsection}{\numberline {2.2.4}TLS Alert Protocol}{10}{subsection.2.2.4}
\contentsline {subsection}{\numberline {2.2.5}TLS Application Data Protocol}{10}{subsection.2.2.5}
\contentsline {section}{\numberline {2.3}Cipher Spec and Cipher Suite}{10}{section.2.3}
\contentsline {section}{\numberline {2.4}TLS Extensions}{11}{section.2.4}
\contentsline {subsection}{\numberline {2.4.1}Session Tickets}{11}{subsection.2.4.1}
\contentsline {subsection}{\numberline {2.4.2}Signature Algorithms}{11}{subsection.2.4.2}
\contentsline {section}{\numberline {2.5}Libraries}{12}{section.2.5}
\contentsline {subsection}{\numberline {2.5.1}OpenSSL}{12}{subsection.2.5.1}
\contentsline {subsection}{\numberline {2.5.2}NSS}{13}{subsection.2.5.2}
\contentsline {subsection}{\numberline {2.5.3}GnuTLS}{13}{subsection.2.5.3}
\contentsline {chapter}{\numberline {3}Implementation Details}{14}{chapter.3}
\contentsline {section}{\numberline {3.1}Tested Environments}{14}{section.3.1}
\contentsline {section}{\numberline {3.2}Test Format}{14}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}Test relevancy}{15}{subsection.3.2.1}
\contentsline {section}{\numberline {3.3}Tested Features}{17}{section.3.3}
\contentsline {section}{\numberline {3.4}Continuous Integration System}{17}{section.3.4}
\contentsline {subsection}{\numberline {3.4.1}GitHub \& Webhooks}{17}{subsection.3.4.1}
\contentsline {subsection}{\numberline {3.4.2}Jenkins}{18}{subsection.3.4.2}
\contentsline {subsubsection}{Beaker}{18}{section*.12}
\contentsline {subsubsection}{OpenStack}{18}{section*.13}
\contentsline {subsubsection}{Docker}{19}{section*.14}
\contentsline {section}{\numberline {3.5}The Final CI Implementation with Travis CI}{19}{section.3.5}
\contentsline {subsection}{\numberline {3.5.1}Operating System}{19}{subsection.3.5.1}
\contentsline {subsection}{\numberline {3.5.2}Test Environments}{19}{subsection.3.5.2}
\contentsline {subsection}{\numberline {3.5.3}Test Execution}{20}{subsection.3.5.3}
\contentsline {subsection}{\numberline {3.5.4}Performance and Limits}{21}{subsection.3.5.4}
\contentsline {subsection}{\numberline {3.5.5}On-demand Library Compilation}{21}{subsection.3.5.5}
\contentsline {section}{\numberline {3.6}Test Extension Details}{22}{section.3.6}
\contentsline {subsection}{\numberline {3.6.1}GnuTLS}{22}{subsection.3.6.1}
\contentsline {subsubsection}{gnutls/renegotiation-with-NSS}{22}{section*.15}
\contentsline {subsubsection}{gnutls/renegotiation-with-OpenSSL}{22}{section*.16}
\contentsline {subsubsection}{gnutls/resumption-with-NSS}{23}{section*.17}
\contentsline {subsubsection}{gnutls/resumption-with-OpenSSL}{23}{section*.18}
\contentsline {subsubsection}{gnutls/signature\_algorithms-with-OpenSSL}{23}{section*.19}
\contentsline {subsubsection}{gnutls/TLSv1-2-with-NSS}{23}{section*.20}
\contentsline {subsubsection}{gnutls/TLSv1-2-with-OpenSSL}{23}{section*.21}
\contentsline {subsection}{\numberline {3.6.2}NSS}{24}{subsection.3.6.2}
\contentsline {subsubsection}{nss/CC-nss-with-gnutls}{24}{section*.22}
\contentsline {subsubsection}{nss/Interoperability-with-OpenSSL}{24}{section*.23}
\contentsline {subsubsection}{nss/renego-and-resumption-NSS-with-OpenSSL}{24}{section*.24}
\contentsline {subsection}{\numberline {3.6.3}OpenSSL}{24}{subsection.3.6.3}
\contentsline {subsubsection}{openssl/CC-openssl-with-gnutls}{24}{section*.25}
\contentsline {section}{\numberline {3.7}Outstanding Issues}{25}{section.3.7}
\contentsline {chapter}{\numberline {4}Testing Results}{26}{chapter.4}
\contentsline {section}{\numberline {4.1}NSS}{26}{section.4.1}
\contentsline {section}{\numberline {4.2}GnuTLS}{28}{section.4.2}
\contentsline {section}{\numberline {4.3}BeakerLib}{28}{section.4.3}
\contentsline {chapter}{\numberline {5}Conclusion}{29}{chapter.5}
\contentsline {chapter}{Bibliography}{30}{chapter*.36}
\contentsline {chapter}{Appendices}{32}{section*.37}
\ttl@starttoc {chapters@1}
\contentsline {chapter}{\numberline {A}CD Contents}{33}{appendix.A}
\contentsline {chapter}{\numberline {B}TLS Alerts}{34}{appendix.B}
\contentsline {chapter}{\numberline {C}Test Plan}{36}{appendix.C}
\contentsline {section}{\numberline {C.1}Test Plan Identifier}{36}{section.C.1}
\contentsline {section}{\numberline {C.2}References}{36}{section.C.2}
\contentsline {section}{\numberline {C.3}Introduction}{36}{section.C.3}
\contentsline {section}{\numberline {C.4}Test Items}{36}{section.C.4}
\contentsline {subsection}{\numberline {C.4.1}Components}{36}{subsection.C.4.1}
\contentsline {subsection}{\numberline {C.4.2}Environments: Releases and Architectures}{36}{subsection.C.4.2}
\contentsline {section}{\numberline {C.5}Software Risk Issues}{37}{section.C.5}
\contentsline {section}{\numberline {C.6}Features to be Tested}{37}{section.C.6}
\contentsline {section}{\numberline {C.7}Features not to be Tested}{37}{section.C.7}
\contentsline {section}{\numberline {C.8}Approach}{37}{section.C.8}
\contentsline {section}{\numberline {C.9}Item Pass/Fail Criteria}{38}{section.C.9}
\contentsline {section}{\numberline {C.10}Test Cases}{38}{section.C.10}
\contentsline {section}{\numberline {C.11}Suspension Criteria and Resumption Requirements}{38}{section.C.11}
\contentsline {section}{\numberline {C.12}Test Deliverables}{38}{section.C.12}
\contentsline {section}{\numberline {C.13}Remaining Test Tasks}{39}{section.C.13}
\contentsline {section}{\numberline {C.14}Environmental Needs}{39}{section.C.14}
\contentsline {subsection}{\numberline {C.14.1}Hardware}{39}{subsection.C.14.1}
\contentsline {subsection}{\numberline {C.14.2}Software}{39}{subsection.C.14.2}
\contentsline {section}{\numberline {C.15}Staffing and Training needs}{39}{section.C.15}
\contentsline {section}{\numberline {C.16}Responsibilities}{39}{section.C.16}
\contentsline {section}{\numberline {C.17}Schedule}{40}{section.C.17}
\contentsline {section}{\numberline {C.18}Approvals}{40}{section.C.18}
\contentsline {chapter}{\numberline {D}Test Cases Description}{41}{appendix.D}
\contentsline {section}{\numberline {D.1}GnuTLS}{41}{section.D.1}
\contentsline {section}{\numberline {D.2}NSS}{42}{section.D.2}
\contentsline {section}{\numberline {D.3}OpenSSL}{42}{section.D.3}
\contentsfinish