Network Working Group C. Jennings Internet-Draft Cisco Systems Intended status: Standards Track K. Ono Expires: May 27, 2010 Columbia University R. Sparks B. Hibbard, Ed. Tekelec November 23, 2009 Example call flows using Session Initiation Protocol (SIP) security mechanisms draft-ietf-sipcore-sec-flows-01 Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on May 27, 2010. Copyright Notice Jennings, et al. Expires May 27, 2010 [Page 1] Internet-Draft SIP Secure Call Flows November 2009 Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This document shows example call flows demonstrating the use of Transport Layer Security (TLS), and Secure/Multipurpose Internet Mail Extensions (S/MIME) in Session Initiation Protocol (SIP). It also provides information that helps implementers build interoperable SIP software. To help facilitate interoperability testing, it includes certificates used in the example call flows and processes to create certificates for testing. Jennings, et al. Expires May 27, 2010 [Page 2] Internet-Draft SIP Secure Call Flows November 2009 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Certificates . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. CA Certificates . . . . . . . . . . . . . . . . . . . . . 5 3.2. Host Certificates . . . . . . . . . . . . . . . . . . . . 9 3.3. User Certificates . . . . . . . . . . . . . . . . . . . . 10 4. Callflow with Message Over TLS . . . . . . . . . . . . . . . . 12 4.1. TLS with Server Authentication . . . . . . . . . . . . . . 12 4.2. MESSAGE Message Over TLS . . . . . . . . . . . . . . . . . 14 5. Callflow with S/MIME-secured Message . . . . . . . . . . . . . 15 5.1. MESSAGE Message with Signed Body . . . . . . . . . . . . . 15 5.2. MESSAGE Message with Encrypted Body . . . . . . . . . . . 20 5.3. MESSAGE Message with Encrypted and Signed Body . . . . . . 23 6. Observed Interoperability Issues . . . . . . . . . . . . . . . 28 7. Additional Test Scenarios . . . . . . . . . . . . . . . . . . 30 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 32 10. Security Considerations . . . . . . . . . . . . . . . . . . . 32 11. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 33 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 33 12.1. Normative References . . . . . . . . . . . . . . . . . . . 33 12.2. Informative References . . . . . . . . . . . . . . . . . . 34 Appendix A. Making Test Certificates . . . . . . . . . . . . . . 35 A.1. makeCA script . . . . . . . . . . . . . . . . . . . . . . 36 A.2. makeCert script . . . . . . . . . . . . . . . . . . . . . 39 Appendix B. Certificates for Testing . . . . . . . . . . . . . . 42 B.1. Certificates Using EKU . . . . . . . . . . . . . . . . . . 42 B.2. Certificates NOT Using EKU . . . . . . . . . . . . . . . . 49 Appendix C. Message Dumps . . . . . . . . . . . . . . . . . . . . 58 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 61 Jennings, et al. Expires May 27, 2010 [Page 3] Internet-Draft SIP Secure Call Flows November 2009 1. Introduction This document is informational and is not normative on any aspect of SIP. SIP with TLS (RFC 5246 [5]) implementations are becoming very common. Several implementations of the S/MIME (RFC 3851 [8]) portion of SIP (RFC 3261 [2]) are also becoming available. After several interoperability events, it is clear that it is difficult to write these systems without any test vectors or examples of "known good" messages to test against. Furthermore, testing at the events is often hampered by trying to get certificates signed by some common test root into the appropriate format for various clients. This document addresses both of these issues by providing messages that give detailed examples that implementers can use for comparison and that can also be used for testing. In addition, this document provides a common certificate and private key that can be used for a Certificate Authority (CA) to reduce the time it takes to set up a test at an interoperability event. The document also provides some hints and clarifications for implementers. A simple SIP call flow using SIPS URIs and TLS is shown in Section 4. The certificates for the hosts used are shown in Section 3.2, and the CA certificates used to sign these are shown in Section 3.1. The text from Section 5.1 through Section 5.3 shows some simple SIP call flows using S/MIME to sign and encrypt the body of the message. The user certificates used in these examples are shown in Section 3.3. These host certificates are signed with the same CA certificate. Section 6 presents a partial list of things implementers should consider in order to implement systems that will interoperate. A way to make certificates that can be used for interoperability testing is presented in Appendix A, along with methods for converting these to various formats. The certificates used while creating the examples and test messages in this document are made available in Appendix B. Binary copies of various messages in this draft that can be used for testing appear in Appendix C. 2. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this Jennings, et al. Expires May 27, 2010 [Page 4] Internet-Draft SIP Secure Call Flows November 2009 document are to be interpreted as described in RFC 2119 [1]. OPEN ISSUE: If there's no intent to have normative language, this section and reference to RFC 2119 should be removed. 3. Certificates 3.1. CA Certificates The certificate used by the CA to sign the other certificates is shown below. This is a X509v3 certificate. Note that the X.509v3 Basic Constraints in the certificate allows it to be used as a CA, certificate authority. This certificate is not used directly in the TLS call flow; it is used only to verify user and host certificates. Jennings, et al. Expires May 27, 2010 [Page 5] Internet-Draft SIP Secure Call Flows November 2009 Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=California, L=San Jose, O=sipit, OU=Sipit Test Certificate Authority Validity Not Before: Jul 18 12:21:52 2003 GMT Not After : Jul 15 12:21:52 2013 GMT Subject: C=US, ST=California, L=San Jose, O=sipit, OU=Sipit Test Certificate Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c3:22:1e:83:91:c5:03:2c:3c:8a:f4:11:14:c6: 4b:9d:fa:72:78:c6:b0:95:18:a7:e0:8c:79:ba:5d: a4:ae:1e:21:2d:9d:f1:0b:1c:cf:bd:5b:29:b3:90: 13:73:66:92:6e:df:4c:b3:b3:1c:1f:2a:82:0a:ba: 07:4d:52:b0:f8:37:7b:e2:0a:27:30:70:dd:f9:2e: 03:ff:2a:76:cd:df:87:1a:bd:71:eb:e1:99:6a:c4: 7f:8e:74:a0:77:85:04:e9:41:ad:fc:03:b6:17:75: aa:33:ea:0a:16:d9:fb:79:32:2e:f8:cf:4d:c6:34: a3:ff:1b:d0:68:28:e1:9d:e5 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 6B:46:17:14:EA:94:76:25:80:54:6E:13:54:DA:A1:E3:54:14:A1:B6 X509v3 Authority Key Identifier: 6B:46:17:14:EA:94:76:25:80:54:6E:13:54:DA:A1:E3:54:14:A1:B6 DirName:/C=US/ST=California/L=San Jose/O=sipit/ OU=Sipit Test Certificate Authority serial:00 X509v3 Basic Constraints: CA:TRUE Signature Algorithm: sha1WithRSAEncryption 96:6d:1b:ef:d5:91:93:45:7c:5b:1f:cf:c4:aa:47:52:0b:34: a8:50:fa:ec:fa:b4:2a:47:4c:5d:41:a7:3d:c0:d6:3f:9e:56: 5b:91:1d:ce:a8:07:b3:1b:a4:9f:9a:49:6f:7f:e0:ce:83:94: 71:42:af:fe:63:a2:34:dc:b4:5e:a5:ce:ca:79:50:e9:6a:99: 4c:14:69:e9:7c:ab:22:6c:44:cc:8a:9c:33:6b:23:50:42:05: 1f:e1:c2:81:88:5f:ba:e5:47:bb:85:9b:83:25:ad:84:32:ff: 2a:5b:8b:70:12:11:83:61:c9:69:15:4f:58:a3:3c:92:d4:e8: 6f:52 The ASN.1 parse of the CA certificate is shown below. Jennings, et al. Expires May 27, 2010 [Page 6] Internet-Draft SIP Secure Call Flows November 2009 0:l= 804 cons: SEQUENCE 4:l= 653 cons: SEQUENCE 8:l= 3 cons: cont [ 0 ] 10:l= 1 prim: INTEGER :02 13:l= 1 prim: INTEGER :00 16:l= 13 cons: SEQUENCE 18:l= 9 prim: OBJECT :sha1WithRSAEncryption 29:l= 0 prim: NULL 31:l= 112 cons: SEQUENCE 33:l= 11 cons: SET 35:l= 9 cons: SEQUENCE 37:l= 3 prim: OBJECT :countryName 42:l= 2 prim: PRINTABLESTRING :US 46:l= 19 cons: SET 48:l= 17 cons: SEQUENCE 50:l= 3 prim: OBJECT :stateOrProvinceName 55:l= 10 prim: PRINTABLESTRING :California 67:l= 17 cons: SET 69:l= 15 cons: SEQUENCE 71:l= 3 prim: OBJECT :localityName 76:l= 8 prim: PRINTABLESTRING :San Jose 86:l= 14 cons: SET 88:l= 12 cons: SEQUENCE 90:l= 3 prim: OBJECT :organizationName 95:l= 5 prim: PRINTABLESTRING :sipit 102:l= 41 cons: SET 104:l= 39 cons: SEQUENCE 106:l= 3 prim: OBJECT :organizationalUnitName 111:l= 32 prim: PRINTABLESTRING :Sipit Test Certificate Authority 145:l= 30 cons: SEQUENCE 147:l= 13 prim: UTCTIME :030718122152Z 162:l= 13 prim: UTCTIME :130715122152Z 177:l= 112 cons: SEQUENCE 179:l= 11 cons: SET 181:l= 9 cons: SEQUENCE 183:l= 3 prim: OBJECT :countryName 188:l= 2 prim: PRINTABLESTRING :US 192:l= 19 cons: SET 194:l= 17 cons: SEQUENCE 196:l= 3 prim: OBJECT :stateOrProvinceName 201:l= 10 prim: PRINTABLESTRING :California 213:l= 17 cons: SET 215:l= 15 cons: SEQUENCE 217:l= 3 prim: OBJECT :localityName 222:l= 8 prim: PRINTABLESTRING :San Jose 232:l= 14 cons: SET 234:l= 12 cons: SEQUENCE 236:l= 3 prim: OBJECT :organizationName Jennings, et al. Expires May 27, 2010 [Page 7] Internet-Draft SIP Secure Call Flows November 2009 241:l= 5 prim: PRINTABLESTRING :sipit 248:l= 41 cons: SET 250:l= 39 cons: SEQUENCE 252:l= 3 prim: OBJECT :organizationalUnitName 257:l= 32 prim: PRINTABLESTRING :Sipit Test Certificate Authority 291:l= 159 cons: SEQUENCE 294:l= 13 cons: SEQUENCE 296:l= 9 prim: OBJECT :rsaEncryption 307:l= 0 prim: NULL 309:l= 141 prim: BIT STRING 00 30 81 89 02 81 81 00-c3 22 1e 83 91 c5 03 2c .0......."....., 3c 8a f4 11 14 c6 4b 9d-fa 72 78 c6 b0 95 18 a7 <.....K..rx..... e0 8c 79 ba 5d a4 ae 1e-21 2d 9d f1 0b 1c cf bd ..y.]...!-...... 5b 29 b3 90 13 73 66 92-6e df 4c b3 b3 1c 1f 2a [)...sf.n.L....* 82 0a ba 07 4d 52 b0 f8-37 7b e2 0a 27 30 70 dd ....MR..7{..'0p. f9 2e 03 ff 2a 76 cd df-87 1a bd 71 eb e1 99 6a ....*v.....q...j c4 7f 8e 74 a0 77 85 04-e9 41 ad fc 03 b6 17 75 ...t.w...A.....u aa 33 ea 0a 16 d9 fb 79-32 2e f8 cf 4d c6 34 a3 .3.....y2...M.4. ff 1b d0 68 28 e1 9d e5-02 03 01 00 01 ...h(........ 453:l= 205 cons: cont [ 3 ] 456:l= 202 cons: SEQUENCE 459:l= 29 cons: SEQUENCE 461:l= 3 prim: OBJECT :X509v3 Subject Key Identifier 466:l= 22 prim: OCTET STRING 04 14 6b 46 17 14 ea 94-76 25 80 54 6e 13 54 da ..kF....v%.Tn.T. a1 e3 54 14 a1 b6 ..T... 490:l= 154 cons: SEQUENCE 493:l= 3 prim: OBJECT :X509v3 Authority Key Identifier 498:l= 146 prim: OCTET STRING 30 81 8f 80 14 6b 46 17-14 ea 94 76 25 80 54 6e 0....kF....v%.Tn 13 54 da a1 e3 54 14 a1-b6 a1 74 a4 72 30 70 31 .T...T....t.r0p1 0b 30 09 06 03 55 04 06-13 02 55 53 31 13 30 11 .0...U....US1.0. 06 03 55 04 08 13 0a 43-61 6c 69 66 6f 72 6e 69 ..U....Californi 61 31 11 30 0f 06 03 55-04 07 13 08 53 61 6e 20 a1.0...U....San 4a 6f 73 65 31 0e 30 0c-06 03 55 04 0a 13 05 73 Jose1.0...U....s 69 70 69 74 31 29 30 27-06 03 55 04 0b 13 20 53 ipit1)0'..U... S 69 70 69 74 20 54 65 73-74 20 43 65 72 74 69 66 ipit Test Certif 69 63 61 74 65 20 41 75-74 68 6f 72 69 74 79 82 icate Authority. 01 . 0092 - <SPACES/NULS> 647:l= 12 cons: SEQUENCE 649:l= 3 prim: OBJECT :X509v3 Basic Constraints 654:l= 5 prim: OCTET STRING 30 03 01 01 ff 0.... 661:l= 13 cons: SEQUENCE 663:l= 9 prim: OBJECT :sha1WithRSAEncryption 674:l= 0 prim: NULL 676:l= 129 prim: BIT STRING Jennings, et al. Expires May 27, 2010 [Page 8] Internet-Draft SIP Secure Call Flows November 2009 00 96 6d 1b ef d5 91 93-45 7c 5b 1f cf c4 aa 47 ..m.....E|[....G 52 0b 34 a8 50 fa ec fa-b4 2a 47 4c 5d 41 a7 3d R.4.P....*GL]A.= c0 d6 3f 9e 56 5b 91 1d-ce a8 07 b3 1b a4 9f 9a ..?.V[.......... 49 6f 7f e0 ce 83 94 71-42 af fe 63 a2 34 dc b4 Io.....qB..c.4.. 5e a5 ce ca 79 50 e9 6a-99 4c 14 69 e9 7c ab 22 ^...yP.j.L.i.|." 6c 44 cc 8a 9c 33 6b 23-50 42 05 1f e1 c2 81 88 lD...3k#PB...... 5f ba e5 47 bb 85 9b 83-25 ad 84 32 ff 2a 5b 8b _..G....%..2.*[. 70 12 11 83 61 c9 69 15-4f 58 a3 3c 92 d4 e8 6f p...a.i.OX.<...o 52 R 3.2. Host Certificates The certificate for the host example.com is shown below. Note that the Subject Alternative Name is set to example.com and is a DNS type. The certificates for the other hosts are shown in Appendix B. Version: 3 (0x2) Serial Number: 01:52:01:54:01:90:00:43 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=California, L=San Jose, O=sipit, OU=Sipit Test Certificate Authority Validity Not Before: Apr 28 22:12:00 2009 GMT Not After : Apr 27 22:12:00 2012 GMT Subject: C=US, ST=California, L=San Jose, O=sipit, CN=example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:c7:60:09:2c:e2:0b:a6:8d:2c:8f:86:eb:47:72: 4d:dc:20:a5:48:69:9c:c6:79:73:3a:65:e4:74:b6: 80:99:4f:6e:a4:1b:1b:6f:5c:91:29:7c:11:a1:bd: ad:25:c6:42:a3:96:bb:d8:c8:11:d8:2a:bc:39:5f: e3:5f:9a:54:f5:0c:77:44:c6:f0:ee:a7:73:85:d0: d1:d7:34:96:d8:24:83:fe:1d:a7:5e:94:6a:a6:79: e6:8b:d6:96:06:31:8d:da:4d:f1:72:c0:a2:9c:48: c9:d2:1f:80:27:60:52:b8:12:cc:43:7c:e7:66:ac: b7:6e:07:bc:e7:d5:0f:fa:41:b3:37:4f:16:33:71: fc:6d:73:17:b5:65:8b:65:03:34:83:8e:98:7d:8b: a3:36:f1:a7:37:94:65:af:dd:13:29:f8:1b:c2:8b: fa:05:03:6b:4b:26:ae:a9:93:ab:5d:0c:f3:08:84: 9e:16:c0:13:fa:da:8f:1c:b6:69:95:04:6d:c8:cf: c0:12:8f:fd:27:2a:cb:16:16:fd:c2:fa:94:fe:e8: 78:40:e4:5a:ac:a7:ef:d7:17:7d:e8:f8:86:8c:16: 35:ff:3e:32:fd:43:1c:c1:20:08:2c:aa:56:a6:17: 4f:bc:74:b0:5d:57:ba:a5:19:b4:20:46:dd:36:3d: Jennings, et al. Expires May 27, 2010 [Page 9] Internet-Draft SIP Secure Call Flows November 2009 15:b3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DNS:com, URI:sip:example.com X509v3 Basic Constraints: CA:FALSE X509v3 Subject Key Identifier: 28:CC:9B:2B:4F:7C:43:5C:9D:AD:96:8B:73:A2:4F:58:5D:30:D4:04 X509v3 Authority Key Identifier: 6B:46:17:14:EA:94:76:25:80:54:6E:13:54:DA:A1:E3:54:14:A1:B6 DirName:/C=US/ST=California/L=San Jose/O=sipit/ OU=Sipit Test Certificate Authority serial:00 X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication, 1.3.6.1.5.5.7.3.20 Signature Algorithm: sha1WithRSAEncryption 1f:b7:c2:84:43:90:d2:06:81:47:48:e7:14:39:5a:ad:a0:53: 36:fb:6f:d7:e1:bf:b1:65:98:fd:a6:c5:e0:5a:b7:5f:90:08: ab:d4:85:2a:d1:57:f2:0e:c1:26:43:de:e1:26:1e:ef:90:95: 94:6e:74:45:36:01:41:ce:43:c2:91:54:dd:35:a8:6e:57:3b: b2:34:71:aa:d4:ea:34:aa:8c:8e:dd:e1:a4:2c:05:45:fb:b8: 38:0c:7b:1f:4f:d7:3c:d7:68:7c:57:57:6d:13:c6:3f:44:dd: fd:6b:fb:65:96:9b:87:92:95:10:af:e7:47:cd:72:6c:6e:d7: 60:f5 The example host certificate above, as well as all the others presented in this document, are signed directly by a root CA. These certificate chains have a length equal to two: the root CA and the host certificate. Non-root CAs exist and may also sign certificates. The certificate chains presented by hosts with certificates signed by non-root CAs will have a length greater than two. For more details on how certificate chains are validated, see section 6.1.4 of RFC 5280 [4]. 3.3. User Certificates User certificates are used by many applications to establish user identity. The user certificate for fluffy@example.com is shown below. Note that the Subject Alternative Name has a list of names with different URL types such as a sip, im, or pres URL. This is necessary for interoperating with a CPIM gateway. In this example, example.com is the domain for fluffy. The message could be coming from a host called atlanta.example.com, and the AOR in the user Jennings, et al. Expires May 27, 2010 [Page 10] Internet-Draft SIP Secure Call Flows November 2009 certificate would still be the same. The others are shown in Appendix B.1. These certificates make use of the EKU extension discussed in Draft SIP EKU [13]. Note that the X509v3 Extended Key Usage attribute refers to the SIP OID introduced in Draft SIP EKU [13] is 1.3.6.1.5.5.7.3.20 Version: 3 (0x2) Serial Number: 01:52:01:54:01:90:00:47 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=California, L=San Jose, O=sipit, OU=Sipit Test Certificate Authority Validity Not Before: Apr 29 17:10:46 2009 GMT Not After : Apr 28 17:10:46 2012 GMT Subject: C=US, ST=California, L=San Jose, O=sipit, CN=fluffy@example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:f4:0f:e8:18:2d:b1:9b:93:ef:64:6b:19:d7:83: ac:f7:af:12:37:30:48:df:6e:55:0a:ce:f7:2a:19: 17:66:bc:42:af:7a:af:78:6c:96:c6:c1:de:5e:38: 67:93:8d:f2:40:13:b5:6f:07:79:de:32:2c:23:e7: ba:e4:a8:36:32:83:8a:75:79:86:85:a2:50:d1:bb: b5:81:36:7e:6b:f2:64:9b:b6:54:d3:8b:c4:4d:4d: 26:94:ae:7c:50:e4:b2:e6:5f:ac:34:e0:97:51:cd: ff:66:b9:92:98:c5:cc:22:e7:0c:30:a4:4c:a6:37: ba:21:31:b2:81:93:0d:24:ee:a7:27:c9:b3:ec:46: e3:f9:7a:d2:42:0a:59:ab:e7:a3:8b:30:66:3d:31: 88:6f:ee:c4:8d:24:ca:99:f1:c8:4c:50:0d:4b:6b: 73:80:ac:74:6f:45:b1:29:29:a1:89:40:94:02:57: 23:8b:6d:60:5c:38:d3:1f:c3:bb:74:3d:15:87:af: 2d:29:16:6c:30:01:4e:e3:39:13:17:6b:ea:58:97: 75:9f:60:38:84:2c:31:95:6e:d8:6d:69:81:bb:2e: fa:59:a2:fb:08:53:59:df:1e:94:17:e5:10:f8:72: 5a:fb:4e:4f:2f:cd:3b:3d:30:c5:b6:c8:3b:e0:e7: 32:ed Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: URI:sip:fluffy@example.com, URI:im:fluffy@example.com, URI:pres:fluffy@example.com X509v3 Basic Constraints: CA:FALSE X509v3 Subject Key Identifier: D2:A2:22:FB:4D:A1:37:B9:15:0B:1E:FC:27:BC:FA:00:A7:1C:F2:29 Jennings, et al. Expires May 27, 2010 [Page 11] Internet-Draft SIP Secure Call Flows November 2009 X509v3 Authority Key Identifier: 6B:46:17:14:EA:94:76:25:80:54:6E:13:54:DA:A1:E3:54:14:A1:B6 DirName:/C=US/ST=California/L=San Jose/O=sipit/ OU=Sipit Test Certificate Authority serial:00 X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment X509v3 Extended Key Usage: E-mail Protection, 1.3.6.1.5.5.7.3.20 Signature Algorithm: sha1WithRSAEncryption 80:a0:db:45:dd:7d:b6:50:b6:93:27:36:cd:cd:28:3c:39:23: aa:e4:6e:9c:f7:d9:8c:96:4d:b7:36:f6:ac:c1:8f:86:d8:6a: 91:3a:4f:5a:68:32:37:df:0f:dd:40:b7:34:68:91:ce:0f:f0: 16:02:ee:be:b6:1d:e1:92:87:c9:5e:a9:42:78:26:45:bb:17: 08:ee:83:ea:e9:d8:30:84:66:90:69:b8:78:ff:c4:09:5c:ea: e2:8a:10:e6:f9:64:eb:db:47:0e:10:29:4d:0e:bb:53:65:70: e1:71:82:c8:d0:14:f4:24:30:49:a6:fc:80:a8:b1:84:bc:e9: 73:75 Versions of these certificates that do not make use of EKU are also included in Appendix B.2 4. Callflow with Message Over TLS 4.1. TLS with Server Authentication The flow below shows the edited SSLDump output of the host example.com forming a TLSRFC 5246 [5] connection to example.net. In this example mutual authentication is not used. Note that the client proposed three protocol suites including TLS_RSA_WITH_AES_128_CBC_SHA defined in RFC 3268 [7]. The certificate returned by the server contains a Subject Alternative Name that is set to example.net. A detailed discussion of TLS can be found in SSL and TLS [18]. For more details on the SSLDump tool, see the SSLDump Manual [19]. This example does not use the Server Extended Hello (see RFC 3546 [6]). New TCP connection #1: www.example.com(57592) <-> www.example.com(5061) 1 1 0.0015 (0.0015) C>SV3.1(101) Handshake ClientHello Version 3.1 random[32]= 49 f7 83 8d 1f 21 c7 73 0c 9f 61 ab 13 2d 6b 26 1e 79 0c 68 b3 b6 f8 24 54 6b 41 0d 9b 3a 03 31 Jennings, et al. Expires May 27, 2010 [Page 12] Internet-Draft SIP Secure Call Flows November 2009 cipher suites TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA TLS_ECDH_RSA_WITH_AES_256_CBC_SHA TLS_DHE_RSA_WITH_AES_256_SHA TLS_RSA_WITH_AES_256_CBC_SHA TLS_DSS_RSA_WITH_AES_256_SHA TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS_ECDH_RSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_DHE_DSS_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_DES_192_CBC3_SHA TLS_ECDH_RSA_WITH_DES_192_CBC3_SHA TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA TLS_ECDHE_RSA_WITH_RC4_128_SHA TLS_ECDH_RSA_WITH_RC4_128_SHA TLS_RSA_WITH_RC4_128_SHA TLS_RSA_WITH_RC4_128_MD5 TLS_DHE_RSA_WITH_DES_CBC_SHA TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA TLS_RSA_WITH_DES_CBC_SHA TLS_RSA_EXPORT_WITH_DES40_CBC_SHA TLS_DHE_DSS_WITH_DES_CBC_SHA TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA TLS_RSA_EXPORT_WITH_RC4_40_MD5 compression methods NULL 1 2 0.0040 (0.0024) S>CV3.1(48) Handshake ServerHello Version 3.1 random[32]= 49 f7 83 8d a0 f8 f0 3f ff 2d d4 13 9c 29 2b 2b fc 1c 92 b9 a8 2a d2 10 0c 54 8e fd af d6 42 22 session_id[0]= cipherSuite TLS_RSA_WITH_AES_256_CBC_SHA compressionMethod NULL 1 3 0.0040 (0.0000) S>CV3.1(1823) Handshake Certificate 1 4 0.0040 (0.0000) S>CV3.1(14) Handshake CertificateRequest certificate_types rsa_sign certificate_types dss_sign certificate_types unknown value ServerHelloDone 1 5 0.0360 (0.0320) C>SV3.1(7) Handshake Jennings, et al. Expires May 27, 2010 [Page 13] Internet-Draft SIP Secure Call Flows November 2009 Certificate 1 6 0.0360 (0.0000) C>SV3.1(262) Handshake ClientKeyExchange 1 7 0.0360 (0.0000) C>SV3.1(1) ChangeCipherSpec 1 8 0.0360 (0.0000) C>SV3.1(48) Handshake 1 9 0.0770 (0.0410) S>CV3.1(170) Handshake 1 10 0.0770 (0.0000) S>CV3.1(1) ChangeCipherSpec 1 11 0.0770 (0.0000) S>CV3.1(48) Handshake 1 12 0.0780 (0.0010) C>SV3.1(32) application_data 1 13 0.0780 (0.0000) C>SV3.1(448) application_data 1 14 0.2804 (0.2023) S>CV3.1(32) application_data 1 15 0.2804 (0.0000) S>CV3.1(416) application_data 1 16 12.3288 (12.0483) S>CV3.1(32) Alert 1 12.3293 (0.0004) S>C TCP FIN 1 17 12.3310 (0.0017) C>SV3.1(32) Alert 4.2. MESSAGE Message Over TLS Once the TLS session is set up, the following MESSAGE message (as defined in RFC 3428 [15] is sent from fluffy@example.com to kumiko@example.net. Note that the URI has a SIPS URL and that the VIA indicates that TLS was used. In order to format this document, the <allOneLine> convention from RFC 4475 [12] is used to break long lines. The actual message does not contain the linebreaks contained within those tags. MESSAGE sips:kumiko@example.net:5061 SIP/2.0 Via: SIP/2.0/TLS 208.77.188.166:15001;\ branch=z9hG4bK-d8754z-3be7667f18d2f53c-1---d8754z-;\ rport=54499 Max-Forwards: 70 Contact: <sips:fluffy@example.com:15001> To: <sips:kumiko@example.net:5061> From: <sips:fluffy@example.com:15001>;tag=2eff6a6f Call-ID: NmE1NDk1YzFmYmMzMDVjOTEwMzVlZjNkMTBjZGZlMzY. CSeq: 1 MESSAGE Accept: multipart/signed, text/plain, application/pkcs7-mime,\ application/sdp, multipart/alternative Content-Type: text/plain Content-Length: 6 Hello! The response is sent from example.net to example.com over the same TLS connection. It is shown below. Jennings, et al. Expires May 27, 2010 [Page 14] Internet-Draft SIP Secure Call Flows November 2009 SIP/2.0 200 OK Via: SIP/2.0/TLS 208.77.188.166:15001;\ branch=z9hG4bK-d8754z-3be7667f18d2f53c-1---d8754z-;\ rport=54499 Contact: <sip:208.77.188.166:5061;transport=TLS> To: <sips:kumiko@example.net:5061>;tag=00e62966 From: <sips:fluffy@example.com:15001>;tag=2eff6a6f Call-ID: NmE1NDk1YzFmYmMzMDVjOTEwMzVlZjNkMTBjZGZlMzY. CSeq: 1 MESSAGE Content-Length: 0 OPEN ISSUE: Ben Campbell pointed out: Contact: "RFC3428 forbids Contact header fields in MESSAGE requests or 2XX responses to MESSAGE. This brings up the question as to whether MESSAGE is a good example, as you may wish to illustrate SIPS rules concerning Contact. (This reoccurs in all MESSAGE and 200 OK examples)." We need consensus on this. OPEN ISSUE: There should be some more information about how this MESSAGE is associated with the handshake example. The dump in 5.1 is slightly confusing in that example.com and example.net both resolved to the same address, so reverse lookup shows both domains as example.com. OPEN ISSUE: Add a few lines about RFC 3263. Add a few lines about how the UA decides to create a new TLS session or use an existing one (but not "connection-reuse" draft level of reuse complexity). Any volunteers? 5. Callflow with S/MIME-secured Message 5.1. MESSAGE Message with Signed Body Below is an example of a signed message. The values on the Content- Type line (multipart/signed) and on the Content-Disposition line have been broken across lines to fit on the page, but they should not be broken across lines in actual implementations. Jennings, et al. Expires May 27, 2010 [Page 15] Internet-Draft SIP Secure Call Flows November 2009 MESSAGE sip:kumiko@example.net SIP/2.0 Via: SIP/2.0/TCP 208.77.188.166:15001;\ branch=z9hG4bK-d8754z-36f515466f3a7f5c-1---d8754z-;\ rport=54500 Max-Forwards: 70 Contact: <sip:fluffy@example.com> To: <sip:kumiko@example.net> From: <sip:fluffy@example.com>;tag=e8cc1b5c Call-ID: NjVjYjNjNzQzNTZlYzdjMWUwM2VjYjcwOTVjM2RkZDM. CSeq: 1 MESSAGE Accept: multipart/signed, text/plain, application/pkcs7-mime,\ application/sdp, multipart/alternative Content-Type: multipart/signed;boundary=ac31fa52a112030f;\ micalg=sha1;protocol="application/pkcs7-signature" Content-Length: 772 --ac31fa52a112030f Content-Type: text/plain Content-Transfer-Encoding: binary hello --ac31fa52a112030f Content-Type: application/pkcs7-signature;name=smime.p7s Content-Disposition: attachment;handling=required;\ filename=smime.p7s Content-Transfer-Encoding: binary ***************** * BINARY BLOB 1 * ***************** --ac31fa52a112030f-- It is important to note that the signature ("BINARY BLOB 1") is computed over the MIME headers and body, but excludes the multipart boundary lines. The value on the Message-body line ends with CRLF. The CRLF is included in the boundary and should not be part of the signature computation. To be clear, the signature is computed over data starting with the C in the Content-Type and ending with the o in the hello. Content-Type: text/plain Content-Transfer-Encoding: binary hello Following is the ASN.1 parsing of encrypted contents referred to above as "BINARY BLOB 1". Note that at address 30, the hash for the signature is specified as SHA-1. Also note that the sender's Jennings, et al. Expires May 27, 2010 [Page 16] Internet-Draft SIP Secure Call Flows November 2009 certificate is not attached as it is optional in RFC 3852 [9]. 0 471: SEQUENCE { 4 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) 15 456: [0] { 19 452: SEQUENCE { 23 1: INTEGER 1 26 11: SET { 28 9: SEQUENCE { 30 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) 37 0: NULL : } : } 39 11: SEQUENCE { 41 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) : } 52 419: SET { 56 415: SEQUENCE { 60 1: INTEGER 1 63 124: SEQUENCE { 65 112: SEQUENCE { 67 11: SET { 69 9: SEQUENCE { 71 3: OBJECT IDENTIFIER countryName (2 5 4 6) 76 2: PrintableString 'US' : } : } 80 19: SET { 82 17: SEQUENCE { 84 3: OBJECT IDENTIFIER : stateOrProvinceName (2 5 4 8) 89 10: PrintableString 'California' : } : } 101 17: SET { 103 15: SEQUENCE { 105 3: OBJECT IDENTIFIER localityName (2 5 4 7) 110 8: PrintableString 'San Jose' : } : } 120 14: SET { 122 12: SEQUENCE { 124 3: OBJECT IDENTIFIER : organizationName (2 5 4 10) 129 5: PrintableString 'sipit' : } : } 136 41: SET { Jennings, et al. Expires May 27, 2010 [Page 17] Internet-Draft SIP Secure Call Flows November 2009 138 39: SEQUENCE { 140 3: OBJECT IDENTIFIER : organizationalUnitName (2 5 4 11) 145 32: PrintableString 'Sipit Test Certificate Aut hority' : } : } : } 179 8: INTEGER 01 52 01 54 01 90 00 47 : } 189 9: SEQUENCE { 191 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) 198 0: NULL : } 200 13: SEQUENCE { 202 9: OBJECT IDENTIFIER : rsaEncryption (1 2 840 113549 1 1 1) 213 0: NULL : } 215 256: OCTET STRING : B1 08 00 AA 15 AC 59 6D 1A 66 66 61 40 A7 BB B1 : D6 7C 32 D8 CE 59 98 E3 8F 69 94 09 A5 F2 C4 34 : 6F 49 4D 56 64 FE EB A9 EA 71 5D 44 B4 0C 77 C1 : 0E BF FD 42 17 E3 84 A2 7E 5E 13 6C A6 F8 2B A9 : 24 3F BE AE 14 51 0E 0D 3E 9A 93 9A 16 52 25 AB : 28 AA C5 8D 15 EB 96 29 C0 9B D9 52 3E 38 D8 07 : 86 2D 22 28 9F 66 0F 74 DF B1 63 0B 26 0D 51 11 : EF AD 54 01 6D A4 C9 65 C6 3E 78 E3 CE 1C 78 5A : 41 85 B5 20 22 9F 0B 70 5A 0B 62 1F EF 92 56 75 : 22 25 41 90 2B F5 12 08 60 07 09 F7 73 5A 89 B9 : 0D F1 48 54 FF 1C FA C3 A8 10 58 6D 58 98 18 A5 : 0B B3 24 24 D5 CE DB 33 FC 31 75 E9 AC 15 1F 02 : F2 A8 E0 3A 3F 1E D2 22 B8 4D EA 11 0A 08 76 A7 : 14 1B 55 8F E7 E7 1C E0 16 E7 1B 62 D4 D4 F2 0A : 7C AB B0 2C 46 02 08 B7 CA 2A 1E 08 CB 4D 1C AA : 09 34 AA 53 5F 59 95 3D C7 87 DD 17 8D 78 04 01 : } : } : } : } : } SHA-1 parameters may be omitted entirely, instead of being set to NULL, as mentioned in RFC 3370 [11]. The above dump of Blob 1 has SHA-1 parameters set to NULL. Below are the same contents signed with the same key, but omitting the NULL according to RFC 3370 [11]. This is the preferred encoding. This is covered in greater detail in Jennings, et al. Expires May 27, 2010 [Page 18] Internet-Draft SIP Secure Call Flows November 2009 Section 6. 0 467: SEQUENCE { 4 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) 15 452: [0] { 19 448: SEQUENCE { 23 1: INTEGER 1 26 9: SET { 28 7: SEQUENCE { 30 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) : } : } 37 11: SEQUENCE { 39 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) : } 50 417: SET { 54 413: SEQUENCE { 58 1: INTEGER 1 61 124: SEQUENCE { 63 112: SEQUENCE { 65 11: SET { 67 9: SEQUENCE { 69 3: OBJECT IDENTIFIER countryName (2 5 4 6) 74 2: PrintableString 'US' : } : } 78 19: SET { 80 17: SEQUENCE { 82 3: OBJECT IDENTIFIER : stateOrProvinceName (2 5 4 8) 87 10: PrintableString 'California' : } : } 99 17: SET { 101 15: SEQUENCE { 103 3: OBJECT IDENTIFIER localityName (2 5 4 7) 108 8: PrintableString 'San Jose' : } : } 118 14: SET { 120 12: SEQUENCE { 122 3: OBJECT IDENTIFIER : organizationName (2 5 4 10) 127 5: PrintableString 'sipit' : } : } 134 41: SET { 136 39: SEQUENCE { Jennings, et al. Expires May 27, 2010 [Page 19] Internet-Draft SIP Secure Call Flows November 2009 138 3: OBJECT IDENTIFIER : organizationalUnitName (2 5 4 11) 143 32: PrintableString 'Sipit Test Certificate Aut hority' : } : } : } 177 8: INTEGER 01 52 01 54 01 90 00 47 : } 187 7: SEQUENCE { 189 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) : } 196 13: SEQUENCE { 198 9: OBJECT IDENTIFIER : rsaEncryption (1 2 840 113549 1 1 1) 209 0: NULL : } 211 256: OCTET STRING : B1 08 00 AA 15 AC 59 6D 1A 66 66 61 40 A7 BB B1 : D6 7C 32 D8 CE 59 98 E3 8F 69 94 09 A5 F2 C4 34 : 6F 49 4D 56 64 FE EB A9 EA 71 5D 44 B4 0C 77 C1 : 0E BF FD 42 17 E3 84 A2 7E 5E 13 6C A6 F8 2B A9 : 24 3F BE AE 14 51 0E 0D 3E 9A 93 9A 16 52 25 AB : 28 AA C5 8D 15 EB 96 29 C0 9B D9 52 3E 38 D8 07 : 86 2D 22 28 9F 66 0F 74 DF B1 63 0B 26 0D 51 11 : EF AD 54 01 6D A4 C9 65 C6 3E 78 E3 CE 1C 78 5A : 41 85 B5 20 22 9F 0B 70 5A 0B 62 1F EF 92 56 75 : 22 25 41 90 2B F5 12 08 60 07 09 F7 73 5A 89 B9 : 0D F1 48 54 FF 1C FA C3 A8 10 58 6D 58 98 18 A5 : 0B B3 24 24 D5 CE DB 33 FC 31 75 E9 AC 15 1F 02 : F2 A8 E0 3A 3F 1E D2 22 B8 4D EA 11 0A 08 76 A7 : 14 1B 55 8F E7 E7 1C E0 16 E7 1B 62 D4 D4 F2 0A : 7C AB B0 2C 46 02 08 B7 CA 2A 1E 08 CB 4D 1C AA : 09 34 AA 53 5F 59 95 3D C7 87 DD 17 8D 78 04 01 : } : } : } : } : } 5.2. MESSAGE Message with Encrypted Body Below is an example of an encrypted text/plain message that says "hello". The binary encrypted contents have been replaced with the block "BINARY BLOB 2". Jennings, et al. Expires May 27, 2010 [Page 20] Internet-Draft SIP Secure Call Flows November 2009 MESSAGE sip:kumiko@example.net SIP/2.0 Via: SIP/2.0/TCP 208.77.188.166:15001;\ branch=z9hG4bK-d8754z-1c7dd40a5fff4463-1---d8754z-;\ rport=54502 Max-Forwards: 70 Contact: <sip:fluffy@example.com> To: <sip:kumiko@example.net> From: <sip:fluffy@example.com>;tag=5a10502e Call-ID: YTk3ODIwN2FiYTUwMGZmYTM1MDJiMzY2ODcyYzE4MGM. CSeq: 1 MESSAGE Accept: multipart/signed, text/plain, application/pkcs7-mime,\ application/sdp, multipart/alternative Content-Disposition: attachment;handling=required;\ filename=smime.p7 Content-Transfer-Encoding: binary Content-Type: application/pkcs7-mime;smime-type=enveloped-data;\ name=smime.p7m Content-Length: 564 ***************** * BINARY BLOB 2 * ***************** Following is the ASN.1 parsing of "BINARY BLOB 2". Note that at address 453, the encryption is set to aes128-CBC. 0 560: SEQUENCE { 4 9: OBJECT IDENTIFIER envelopedData (1 2 840 113549 1 7 3) 15 545: [0] { 19 541: SEQUENCE { 23 1: INTEGER 0 26 408: SET { 30 404: SEQUENCE { 34 1: INTEGER 0 37 124: SEQUENCE { 39 112: SEQUENCE { 41 11: SET { 43 9: SEQUENCE { 45 3: OBJECT IDENTIFIER countryName (2 5 4 6) 50 2: PrintableString 'US' : } : } 54 19: SET { 56 17: SEQUENCE { 58 3: OBJECT IDENTIFIER : stateOrProvinceName (2 5 4 8) 63 10: PrintableString 'California' : } Jennings, et al. Expires May 27, 2010 [Page 21] Internet-Draft SIP Secure Call Flows November 2009 : } 75 17: SET { 77 15: SEQUENCE { 79 3: OBJECT IDENTIFIER localityName (2 5 4 7) 84 8: PrintableString 'San Jose' : } : } 94 14: SET { 96 12: SEQUENCE { 98 3: OBJECT IDENTIFIER : organizationName (2 5 4 10) 103 5: PrintableString 'sipit' : } : } 110 41: SET { 112 39: SEQUENCE { 114 3: OBJECT IDENTIFIER : organizationalUnitName (2 5 4 11) 119 32: PrintableString 'Sipit Test Certificate Aut hority' : } : } : } 153 8: INTEGER 01 52 01 54 01 90 00 48 : } 163 13: SEQUENCE { 165 9: OBJECT IDENTIFIER : rsaEncryption (1 2 840 113549 1 1 1) 176 0: NULL : } 178 256: OCTET STRING : 6E 48 A2 78 07 3A 47 09 C0 57 6F CB 01 AA 0E E7 : 3E 2C 1B 78 8F 6B 0B C2 D4 F2 BD 41 8E 3E CB 95 : CD 35 9C 2E 59 8B E8 E5 35 59 6F 0E FC 3B BB A4 : 2E 66 0D 68 6E 45 04 CA 4B E5 29 BE 65 F1 51 A1 : E3 40 83 95 7C 8F B0 A9 56 CF 34 D4 DE C4 63 BE : 26 55 1D 57 51 E2 86 8C 2A 7D B1 37 13 B5 F8 8D : B8 3C F1 84 31 0C 57 B2 24 E3 D2 F6 94 5D A2 80 : 2E 45 B7 36 96 6C EF A3 90 23 8E 9D B3 50 0A 6F : DB E7 47 54 EA 2D 5E 38 75 77 CB 05 EE 45 71 B6 : BB 95 93 AF 59 31 BC B3 10 F7 FE 72 B9 85 22 51 : 80 A6 7E F6 E5 9E 46 32 2C 8A BB ED 60 C8 F6 7B : 2D 9E CF 5F 9E D9 21 68 08 BE 00 51 27 A7 1B 54 : 53 CF 45 2A 58 61 63 3C 19 75 86 67 04 C3 05 77 : 6D 77 19 3B A4 16 32 38 1C 79 05 7B 71 11 7B 56 : 24 75 24 6B F7 75 D1 8A DA AE B8 3A 86 4D 31 0A : 1B D2 80 88 64 52 13 DA FE 93 DD AA C9 E0 D2 CB : } Jennings, et al. Expires May 27, 2010 [Page 22] Internet-Draft SIP Secure Call Flows November 2009 : } 438 124: SEQUENCE { 440 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) 451 29: SEQUENCE { 453 9: OBJECT IDENTIFIER : aes128-CBC (2 16 840 1 101 3 4 1 2) 464 16: OCTET STRING : E8 E4 34 63 AE 68 F7 C1 62 C5 9E 7B 6F 25 22 AF : } 482 80: [0] : 41 4C FE FA A4 B4 70 1A 62 86 BC C1 DE 90 94 69 : 7D 0A D2 0F F3 4E 7D 6F 72 2F 7A A7 4B B4 4A 59 : C9 C0 CB F3 AD 92 D6 31 66 94 0E B3 49 01 63 D5 : BA 5A AE 29 ED C9 8A 87 EA 00 FC 4B 97 62 54 56 : 91 DB 78 50 B6 AD B7 B8 5D F6 11 41 3C C0 20 DD : } : } : } : } 5.3. MESSAGE Message with Encrypted and Signed Body In the example below, some of the header values have been split across mutliple lines. Where the lines have been broken, a "\" has been inserted. This was only done to make it fit in the RFC format. Specifically, the application/pkcs7-mime Content-Type line should be one line with no whitespace between the "mime;" and the "smime-type". The values are split across lines for formatting, but are not split in the real message. The binary encrypted content has been replaced with "BINARY BLOB 3", and the binary signed content has been replaced with "BINARY BLOB 4". Jennings, et al. Expires May 27, 2010 [Page 23] Internet-Draft SIP Secure Call Flows November 2009 MESSAGE sip:kumiko@example.net SIP/2.0 Via: SIP/2.0/TCP 208.77.188.166:15001;\ branch=z9hG4bK-d8754z-c2d73f665e157842-1---d8754z-;\ rport=54503 Max-Forwards: 70 Contact: <sip:fluffy@example.com> To: <sip:kumiko@example.net> From: <sip:fluffy@example.com>;tag=5e4dd355 Call-ID: MDQ2ZGVkZWQ4YzJhZTZhZDRjNzE0MDJkNzk1NGIxNTQ. CSeq: 1 MESSAGE Accept: multipart/signed, text/plain, application/pkcs7-mime,\ application/sdp, multipart/alternative Content-Type: multipart/signed;boundary=e0c6b73cedc44967;\ micalg=sha1;protocol="application/pkcs7-signature" Content-Length: 1453 --e0c6b73cedc44967 Content-Type: application/pkcs7-mime;smime-type=enveloped-data;\ name=smime.p7m Content-Disposition: attachment;handling=required;\ filename=smime.p7 Content-Transfer-Encoding: binary ***************** * BINARY BLOB 3 * ***************** --e0c6b73cedc44967 Content-Type: application/pkcs7-signature;name=smime.p7s Content-Disposition: attachment;handling=required;\ filename=smime.p7s Content-Transfer-Encoding: binary ***************** * BINARY BLOB 4 * ***************** --e0c6b73cedc44967-- Below is the ASN.1 parsing of "BINARY BLOB 3". 0 560: SEQUENCE { 4 9: OBJECT IDENTIFIER envelopedData (1 2 840 113549 1 7 3) 15 545: [0] { 19 541: SEQUENCE { 23 1: INTEGER 0 26 408: SET { 30 404: SEQUENCE { 34 1: INTEGER 0 37 124: SEQUENCE { Jennings, et al. Expires May 27, 2010 [Page 24] Internet-Draft SIP Secure Call Flows November 2009 39 112: SEQUENCE { 41 11: SET { 43 9: SEQUENCE { 45 3: OBJECT IDENTIFIER countryName (2 5 4 6) 50 2: PrintableString 'US' : } : } 54 19: SET { 56 17: SEQUENCE { 58 3: OBJECT IDENTIFIER : stateOrProvinceName (2 5 4 8) 63 10: PrintableString 'California' : } : } 75 17: SET { 77 15: SEQUENCE { 79 3: OBJECT IDENTIFIER localityName (2 5 4 7) 84 8: PrintableString 'San Jose' : } : } 94 14: SET { 96 12: SEQUENCE { 98 3: OBJECT IDENTIFIER : organizationName (2 5 4 10) 103 5: PrintableString 'sipit' : } : } 110 41: SET { 112 39: SEQUENCE { 114 3: OBJECT IDENTIFIER : organizationalUnitName (2 5 4 11) 119 32: PrintableString 'Sipit Test Certificate Aut hority' : } : } : } 153 8: INTEGER 01 52 01 54 01 90 00 48 : } 163 13: SEQUENCE { 165 9: OBJECT IDENTIFIER : rsaEncryption (1 2 840 113549 1 1 1) 176 0: NULL : } 178 256: OCTET STRING : 8A C2 F2 23 B0 D4 11 0E EB 38 60 3A 47 99 14 33 : 78 01 1A F9 12 9E 97 93 D5 68 B2 B8 4E CF 76 15 : EF CD 36 0E A5 B8 36 5F E1 05 78 45 F7 05 12 6D : 55 0A A1 50 4C A9 F7 E3 B1 69 65 F8 38 A8 F7 2F Jennings, et al. Expires May 27, 2010 [Page 25] Internet-Draft SIP Secure Call Flows November 2009 : A1 74 0F 15 6F 29 B6 5C 74 21 49 21 77 07 E4 0A : 4D A9 02 30 15 45 2F 8F AE 08 2E 49 D9 B2 77 73 : E8 41 08 4E 2D B0 B0 EE 2F 49 B7 75 D7 70 E0 60 : FC A3 C9 49 38 C8 B3 79 71 46 98 C3 17 20 A9 13 : E7 EE E3 99 AA E2 1F C3 C3 7A B3 70 40 DA F3 40 : 0B 69 99 DC EB 5C 10 A9 FF A8 66 D1 56 BB B9 B9 : 84 CB 6D 03 3F 96 CC 6D 5A 92 8B 00 23 CB 8B FE : FB BF 19 26 7F C9 69 CC 93 98 5A E4 DE D3 B0 DE : 6E 0E 29 9C E8 05 D7 4F 3D A0 F7 C2 B2 8E 0E FF : 06 DA 46 0B ED 3B 84 BF 88 17 9C 40 DA 52 65 62 : A9 BB F5 7A E7 D1 78 69 9D 61 D5 48 53 56 0A BB : DD F3 35 C3 04 0D C0 BD 26 41 C1 E4 9E 19 A2 4B : } : } 438 124: SEQUENCE { 440 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) 451 29: SEQUENCE { 453 9: OBJECT IDENTIFIER : aes128-CBC (2 16 840 1 101 3 4 1 2) 464 16: OCTET STRING : 9E C3 11 33 C1 F5 42 09 C8 8B D2 C9 54 32 78 46 : } 482 80: [0] : 89 5B E2 84 60 E5 45 2B 74 CC 61 4F A2 E4 03 37 : D3 C6 83 52 A3 CF C9 E8 C7 8D AF F3 36 39 56 BF : 8F 7D E3 F8 65 43 6E 61 65 85 5B 62 AC BF 3A DD : 99 C7 8B B7 BA A7 3F 97 61 3C B1 E2 E0 45 BC 17 : 43 51 03 F4 41 8C 55 E7 02 5F CC AE F5 02 6B D8 : } : } : } : } Below is the ASN.1 parsing of "BINARY BLOB 4". 0 471: SEQUENCE { 4 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2) 15 456: [0] { 19 452: SEQUENCE { 23 1: INTEGER 1 26 11: SET { 28 9: SEQUENCE { 30 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) 37 0: NULL : } : } 39 11: SEQUENCE { Jennings, et al. Expires May 27, 2010 [Page 26] Internet-Draft SIP Secure Call Flows November 2009 41 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) : } 52 419: SET { 56 415: SEQUENCE { 60 1: INTEGER 1 63 124: SEQUENCE { 65 112: SEQUENCE { 67 11: SET { 69 9: SEQUENCE { 71 3: OBJECT IDENTIFIER countryName (2 5 4 6) 76 2: PrintableString 'US' : } : } 80 19: SET { 82 17: SEQUENCE { 84 3: OBJECT IDENTIFIER : stateOrProvinceName (2 5 4 8) 89 10: PrintableString 'California' : } : } 101 17: SET { 103 15: SEQUENCE { 105 3: OBJECT IDENTIFIER localityName (2 5 4 7) 110 8: PrintableString 'San Jose' : } : } 120 14: SET { 122 12: SEQUENCE { 124 3: OBJECT IDENTIFIER : organizationName (2 5 4 10) 129 5: PrintableString 'sipit' : } : } 136 41: SET { 138 39: SEQUENCE { 140 3: OBJECT IDENTIFIER : organizationalUnitName (2 5 4 11) 145 32: PrintableString 'Sipit Test Certificate Aut hority' : } : } : } 179 8: INTEGER 01 52 01 54 01 90 00 47 : } 189 9: SEQUENCE { 191 5: OBJECT IDENTIFIER sha1 (1 3 14 3 2 26) 198 0: NULL : } Jennings, et al. Expires May 27, 2010 [Page 27] Internet-Draft SIP Secure Call Flows November 2009 200 13: SEQUENCE { 202 9: OBJECT IDENTIFIER : rsaEncryption (1 2 840 113549 1 1 1) 213 0: NULL : } 215 256: OCTET STRING : 29 C3 93 9D 71 C5 93 52 80 4B 0F C5 66 C7 CD 18 : 2F 4D A0 07 E1 29 CE F9 2E CE 92 16 CD 7D B1 45 : 5A 6D C2 5A 90 51 C3 20 66 FC 76 F0 DF D3 AE C5 : CE 4D DF C8 0D D7 87 B3 69 ED 81 BA 71 EA B4 C0 : E3 F5 A3 A4 CA 2E 36 A3 29 37 86 37 C3 B6 90 A7 : EA 6A 27 52 C6 9C AB B1 2C 7B 60 10 26 E9 33 43 : 83 BA 06 B0 68 05 26 88 A2 68 1A 4E E5 82 16 5B : E4 00 7D 18 09 4A 13 09 2D B5 F1 A6 C0 39 60 29 : 02 32 24 29 D6 37 55 4C 42 DA 7D E9 98 F8 C6 FE : E8 01 1C 56 8B AD DB D2 B2 C4 20 A0 CC 92 BD 9B : 9F 0E C9 9E 5C BF 4E DA 1D D9 E4 02 DC DA 57 A6 : 59 EC 89 CD AD 66 D3 A3 7A 88 F9 A2 DA D5 9E FB : 4F AD 7D D9 69 68 35 B1 98 10 64 42 1D 3D 24 57 : C5 BF 48 C3 B0 E6 3C 91 3C 27 52 28 D2 BE 2C AC : 79 79 32 2E C4 9D 7C 8A 73 73 68 EC 60 E0 22 0D : 50 7F 72 33 96 89 F8 9F 7B ED D1 4A 75 7B D5 14 : } : } : } : } : } 6. Observed Interoperability Issues OPEN ISSUE: Who observed them? Is this experience from SIPits, etc? I think it would strengthen the idea that these are real-world, observed-in-the-wild issues to give sources. This section describes some common interoperability problems. Implementers should verify that their clients do the correct things and when possible make their clients forgiving in what they receive. Implementations should take extra care to produce reasonable error messages when interacting with software that has these problems. Some SIP clients incorrectly only do SSLv3 and do not support TLS. OPEN ISSUE: Do mean client class devices, or user agents in general? Does this exclude proxies? (same question throughout section.) Many SIP clients were found to accept expired certificates with no Jennings, et al. Expires May 27, 2010 [Page 28] Internet-Draft SIP Secure Call Flows November 2009 warning or error. When used with SIP, TLS and S/MIME provide the identity of the peer that a client is communicating with in the Subject Alternative Name in the certificate. The software must check that this name corresponds to the identity the server is trying to contact. If a client is trying to set up a TLS connection to good.example.com and it gets a TLS connection set up with a server that presents a valid certificate but with the name evil.example.com, it must generate an error or warning of some type. Similarly with S/MIME, if a user is trying to communicate with sip:fluffy@example.com, one of the items in the Subject Alternate Name set in the certificate must match. Some implementations used binary MIME encodings while others used base64. Implementations should send only binary but must be prepared to receive either. OPEN ISSUE: Is "...should send...must be prepared..." intended to be a normative statement? There is a larger issue as to whether this document is intended to be normative or informative. Should it be standards track? In several places in this draft, the messages contain the encoding for the SHA-1 digest algorithm identifier. The preferred form for encoding as set out in Section 2 of RFC 3370 [11] is the form in which the optional AlgorithmIdentifier parameter field is omitted. However, RFC 3370 also says the recipients need to be able to receive the form in which the AlgorithmIdentifier parameter field is present and set to NULL. Examples of the form using NULL can be found in Section 4.2 of RFC 4134 [14]. Receivers really do need to be able to receive the form that includes the NULL because the NULL form, while not preferred, is what was observed as being generated by most implementations. Implementers should also note that if the algorithm is MD5 instead of SHA-1, then the form that omits the AlgorithmIdentifier parameters field is not allowed and the sender has to use the form where the NULL is included. The preferred encryption algorithm for S/MIME in SIP is AES as defined in RFC 3853 [10]. Observed S/MIME interoperability has been better when UAs did not attach the senders' certificates. Attaching the certificates significantly increases the size of the messages, and since it can not be relied on, it does not turn out to be useful in most situations. OPEN ISSUE: There's some implicit stuff here that should be explicit. Do you mean to recommend never attaching certs? It's probably worth Jennings, et al. Expires May 27, 2010 [Page 29] Internet-Draft SIP Secure Call Flows November 2009 mentioning the message size limit issue. What do we mean by "it cannot be relied upon"--that we can't rely on the peer sending it, or it is unreliable when the peer does send it? 7. Additional Test Scenarios This section provides a non-exhaustive list of tests that implementations should perform while developing systems that use S/MIME and TLS for SIP. Much of the required behavior for inspecting certificates when using S/MIME and TLS with SIP is currently underspecified. The non- normative recommendations in this document capture the current folklore around that required behavior, guided by both related normative works such as RFC 4474 [16] (particulary, section 13.4 Domain Names and Subordination) and informative works such as RFC 2818 [17] section 3.1. To summarize that non-normative lore: o For S/MIME the peer's URI must appear in the subjectAltName of the peer's certifcate as a uniformResourceIdentifier field. o For TLS the peer's hostname (from the initial DNS query in the server location process RFC 3263 [3]) must appear as * an exact match in a dNSName entry in the subjectAltName if there are any dNSNames in the subjectAltName. (Wildcard matching is not allowed against these dNSName entries) * the most specific CommonName in the Subject field if there are no dNSName entries in the subjectAltName at all (which is not the same as there being no matching dNSName entries). This match can be either exact, or against an entry that uses the wildcard matching character '*' OPEN ISSUE: Are we sure all of this is truly folklore and none of it is from bona fide normative language somewhere? The true folklore portions may indicate future normative work we need to do. OPEN ISSUE: From first bullet, "peer's URI"...What URI? An AoR for the user? From or To values? Contacts? Request-URIs? For request URIs, do we need to discuss the effects of retargeting? Do we need to consider some of the current History-Info discussions? OPEN ISSUE: From second bullet: What if all you've got is an IP address? Do we disallow IPAddress entries in SubjectAltName? OPEN ISSUE: First sub-bullet (Wildcard matching is not allowed against these dNSName entries): Is there something that can be referenced here? In particular, RFC2818 explicitly allows wildcards in dNSName entries. It is not obvious to me whether the proscription against wildcards in RFC4474 should apply to general use of TLS, or Jennings, et al. Expires May 27, 2010 [Page 30] Internet-Draft SIP Secure Call Flows November 2009 just to identity. For each of these tests, an implementation will proceed past the verification point only if the certificate is "good". S/MIME protected requests presenting bad certificate data will be rejected. S/MIME protected responses presenting bad certificate information will be ignored. TLS connections involving bad certificate data will not be completed. 1. S/MIME : Good peer certificate 2. S/MIME : Bad peer certificate (peer URI does not appear in subjAltName) 3. S/MIME : Bad peer certificate (valid authority chain does not end at a trusted CA) 4. S/MIME : Bad peer certificate (the current time does not fall within the period of validity) 5. S/MIME : Bad peer certificate (certificate or cert in authority chain has been revoked) 6. TLS : Good peer certificate (hostname appears in dNSName in subjAltName) 7. TLS : Good peer certificate (no dNSNames in subjAltName, hostname appears in CN of Subject) 8. TLS : Bad peer certificate (no match in dNSNames or in the Subject CN) 9. TLS : Bad peer certificate (valid authority chain does not end at a trusted CA) 10. TLS : Bad peer certificate (the current time does not fall within the period of validity) 11. TLS : Bad peer certificate (certificate or cert in authority chain has been revoked) OPEN ISSUE: What about cases where the basic constraints or allowed uses are not appropriate? Is it worth putting in cases around self- signed certs? (i.e. self-signed cert, explicitly trusted, not trusted, etc.) How about cases where one or more certs in the chain to the root were not provided and not available through other means? Those seem like sensible cases to either include or explain why they aren't included. The self-signed cert is definitely a popular case among developers. 8. IANA Considerations No IANA actions are required. Jennings, et al. Expires May 27, 2010 [Page 31] Internet-Draft SIP Secure Call Flows November 2009 9. Acknowledgments Many thanks to the developers of all the open source software used to create these call flows. This includes the underlying crypto and TLS software used from openssl.org, the SIP stack from www.resiprocate.org, and the SIMPLE IMPP agent from www.sipimp.org. The TLS flow dumps were done with SSLDump from http://www.rtfm.com/ssldump. The book "SSL and TLS" [18] was a huge help in developing the code for these flows. It's sad there is no second edition. Thanks to Jim Schaad, Russ Housley, Eric Rescorla, Dan Wing, Tat Chan, and Lyndsay Campbell who all helped find and correct mistakes in this document. Vijay Gurbani and Alan Jeffrey contributed much of the additional test scenario content. 10. Security Considerations Implementers must never use any of the certificates provided in this document in anything but a test environment. Installing the CA root certificates used in this document as a trusted root in operational software would completely destroy the security of the system while giving the user the impression that the system was operating securely. This document recommends some things that implementers might test or verify to improve the security of their implementations. It is impossible to make a comprehensive list of these, and this document only suggests some of the most common mistakes that have been seen at the SIPit interoperability events. Just because an implementation does everything this document recommends does not make it secure. This document does not show the messages needed to check Certificate Revocation Lists (see RFC 5280 [4]) as that is not part of the SIP call flow. OPEN ISSUE: We should probably say something about CRLs. We need to get consensus on whether we want to recommend a method for retrieving CRLs. We could explicitly state that these are assumed to be retrieved out-of-band. Should they be retrieved by HTTP by some maintenance procedure? Via OCSP? Jennings, et al. Expires May 27, 2010 [Page 32] Internet-Draft SIP Secure Call Flows November 2009 11. Changelog (RFC Editor: remove this section) -00 to -01 * Addition of OPEN ISSUES. * Numerous minor edits from mailing list feedback. to -00 * Changed RFC 3369 references to RFC 3852. * Changed draft-ietf-sip-identity references to RFC 4474. * Added an ASN.1 dump of CMS signed content where SHA-1 parameters are omitted instead of being set to ASN.1 NULL. * Accept headers added to messages. * User and domain certificates are generated with EKU as specified in Draft SIP EKU [13]. * Message content that is shown is computed using certificates generated with EKU. * Message dump archive returned. * Message archive contains messages formed with and without EKU certificates. prior to -00 * Incorporated the Test cases from Vijay Gurbani's and Alan Jeffrey's Use of TLS in SIP draft * Began to capture the folklore around where identities are carried in certificates for use with SIP * Removed the message dump archive pending verification (will return in -02) 12. References 12.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [3] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol (SIP): Locating SIP Servers", RFC 3263, June 2002. [4] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008. Jennings, et al. Expires May 27, 2010 [Page 33] Internet-Draft SIP Secure Call Flows November 2009 [5] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008. [6] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J., and T. Wright, "Transport Layer Security (TLS) Extensions", RFC 3546, June 2003. [7] Chown, P., "Advanced Encryption Standard (AES) Ciphersuites for Transport Layer Security (TLS)", RFC 3268, June 2002. [8] Ramsdell, B., "Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification", RFC 3851, July 2004. [9] Housley, R., "Cryptographic Message Syntax (CMS)", RFC 3852, July 2004. [10] Peterson, J., "S/MIME Advanced Encryption Standard (AES) Requirement for the Session Initiation Protocol (SIP)", RFC 3853, July 2004. [11] Housley, R., "Cryptographic Message Syntax (CMS) Algorithms", RFC 3370, August 2002. [12] Sparks, R., Hawrylyshen, A., Johnston, A., Rosenberg, J., and H. Schulzrinne, "Session Initiation Protocol (SIP) Torture Test Messages", RFC 4475, May 2006. [13] Lawrence, S. and V. Gurbani, "Using Extended Key Usage (EKU) for Session Initiation Protocol (SIP) X.509 Certificates", draft-ietf-sip-eku-04 (work in progress), April 2009. 12.2. Informative References [14] Hoffman, P., "Examples of S/MIME Messages", RFC 4134, July 2005. [15] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and D. Gurle, "Session Initiation Protocol (SIP) Extension for Instant Messaging", RFC 3428, December 2002. [16] Peterson, J. and C. Jennings, "Enhancements for Authenticated Identity Management in the Session Initiation Protocol (SIP)", RFC 4474, August 2006. [17] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. [18] Rescorla, E., "SSL and TLS - Designing and Building Secure Jennings, et al. Expires May 27, 2010 [Page 34] Internet-Draft SIP Secure Call Flows November 2009 Systems", 2001. [19] Rescorla, E., "SSLDump manpage". Appendix A. Making Test Certificates These scripts allow you to make certificates for test purposes. The certificates will all share a common CA root so that everyone running these scripts can have interoperable certificates. WARNING - these certificates are totally insecure and are for test purposes only. All the CA created by this script share the same private key to facilitate interoperability testing, but this totally breaks the security since the private key of the CA is well known. The instructions assume a Unix-like environment with openssl installed, but openssl does work in Windows too. OpenSSL version 0.9.8j was used to generate the certificates used in this document. Make sure you have openssl installed by trying to run "openssl". Run the makeCA script found in Appendix A.1; this creates a subdirectory called demoCA. If the makeCA script cannot find where your openssl is installed you will have to set an environment variable called OPENSSLDIR to whatever directory contains the file openssl.cnf. You can find this with a "locate openssl.cnf". You are now ready to make certificates. To create certs for use with TLS, run the makeCert script found in Appendix A.2 with the fully qualified domain name of the proxy you are making the certificate for. For example, "makeCert host.example.net". This will generate a private key and a certificate. The private key will be left in a file named domain_key_example.net.pem in pem format. The certificate will be in domain_cert_example.net.pem. Some programs expect both the certificate and private key combined together in a PKCS12 format file. This is created by the script and left in a file named example.net.p12. Some programs expect this file to have a .pfx extension instead of .p12 - just rename the file if needed. A file with a certificate signing request, called example.net.csr, is also created and can be used to get the certificate signed by another CA. A second argument indicating the number of days for which the certificate should be valid can be passed to the makeCert script. It is possible to make an expired certificate using the command "makeCert host.example.net 0". Anywhere that a password is used to protect a certificate, the password is set to the string "password". Jennings, et al. Expires May 27, 2010 [Page 35] Internet-Draft SIP Secure Call Flows November 2009 The root certificate for the CA is in the file root_cert_fluffyCA.pem. For things that need DER format certificates, a certificate can be converted from PEM to DER with "openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER". Some programs expect certificates in PKCS#7 format (with a file extension of .p7c). You can convert these from PEM format to PKCS#7 with "openssl crl2pkcs7 -nocrl -certfile cert.pem -certfile demoCA/ cacert.pem -outform DER -out cert.p7c" IE (version 8), Outlook Express (version 6), and Firefox (version 3.5) can import and export .p12 files and .p7c files. You can convert a pkcs7 certificate to PEM format with "openssl pkcs7 -in cert.p7c -inform DER -outform PEM -out cert.pem". The private key can be converted to pkcs8 format with "openssl pkcs8 -in a_key.pem -topk8 -outform DER -out a_key.p8c" OPEN ISSUE: The information in this section needs to be verified with the latest software versions. How to do conversions between supported types needs to be updated accordingly. In general, a TLS client will just need the root certificate of the CA. A TLS server will need its private key and its certificate. These could be in two PEM files, a single file with both certificate and private key PEM sections, or a single .p12 file. An S/MIME program will need its private key and certificate, the root certificate of the CA, and the certificate for every other user it communicates with. A.1. makeCA script #!/bin/sh set -x rm -rf demoCA mkdir demoCA mkdir demoCA/certs mkdir demoCA/crl mkdir demoCA/newcerts mkdir demoCA/private echo "01" > demoCA/serial hexdump -n 4 -e '4/1 "%04u"' /dev/random > demoCA/serial touch demoCA/index.txt Jennings, et al. Expires May 27, 2010 [Page 36] Internet-Draft SIP Secure Call Flows November 2009 # You may need to modify this for where your default file is # you can find where yours in by typing "openssl ca" for D in /etc/ssl /usr/local/ssl /sw/etc/ssl /sw/share/ssl; do CONF=${OPENSSLDIR:=$D}/openssl.cnf [ -f ${CONF} ] && break done CONF=${OPENSSLDIR}/openssl.cnf if [ ! -f $CONF ]; then echo "Can not find file $CONF - set your OPENSSLDIR variable" exit fi cp $CONF openssl.cnf cat >> openssl.cnf <<EOF [ sipdomain_cert ] subjectAltName=\${ENV::ALTNAME} basicConstraints=CA:FALSE subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always keyUsage = nonRepudiation,digitalSignature,keyEncipherment extendedKeyUsage=serverAuth,1.3.6.1.5.5.7.3.20 [ sipdomain_req ] basicConstraints = CA:FALSE subjectAltName=\${ENV::ALTNAME} subjectKeyIdentifier=hash [ sipuser_cert ] subjectAltName=\${ENV::ALTNAME} basicConstraints=CA:FALSE subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always keyUsage = nonRepudiation,digitalSignature,keyEncipherment extendedKeyUsage=emailProtection,1.3.6.1.5.5.7.3.20 [ sipuser_req ] basicConstraints = CA:FALSE subjectAltName=\${ENV::ALTNAME} subjectKeyIdentifier=hash [ sipdomain_noeku_cert ] subjectAltName=\${ENV::ALTNAME} basicConstraints=CA:FALSE subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always Jennings, et al. Expires May 27, 2010 [Page 37] Internet-Draft SIP Secure Call Flows November 2009 keyUsage = nonRepudiation,digitalSignature,keyEncipherment [ sipdomain_noeku_req ] basicConstraints = CA:FALSE subjectAltName=\${ENV::ALTNAME} subjectKeyIdentifier=hash [ sipuser_noeku_cert ] subjectAltName=\${ENV::ALTNAME} basicConstraints=CA:FALSE subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always keyUsage = nonRepudiation,digitalSignature,keyEncipherment [ sipuser_noeku_req ] basicConstraints = CA:FALSE subjectAltName=\${ENV::ALTNAME} subjectKeyIdentifier=hash EOF cat > demoCA/private/cakey.pem <<EOF -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,4B47A0A73ADE342E aHmlPa+ZrOV6v+Jk0SClxzpxoG3j0ZuyoVkF9rzq2bZkzVBKLU6xhWwjMDqwA8dH 3fCRLhMGIUVnmymXYhTW9svI1gpFxMBQHJcKpV/SmgFn/fbYk98Smo2izHOniIiu NOu2zr+bMiaBphOAZ/OCtVUxUOoBDKN9lR39UCDOgkEQzp9Vbw7l736yu5H9GMHP JtGLJyx3RhS3TvLfLAJZhjm/wZ/9QM8GjyJEiDhMQRJVeIZGvv4Yr1u6yYHiHfjX tX2eds8Luc83HbSvjAyjnkLtJsAZ/8cFzrd7pjFzbogLdWuil+kpkkf5h1uzh7oa um0M1EXBE4tcDHsfg1iqEsDMIei/U+/rWfk1PrzYlklwZp8S03vulkDm1fT76W7d mRBg4+CrHA6qYn6EPWB37OBtfEqAfINnIcI1dWzso9A0bTPD4EJO0JA0PcZ/2JgT PaKySgooHQ8AHNQebelch6M5LFExpaOADJKrqauKcc2HeUxXaYIpac5/7drIl3io UloqUnMlGa3eLP7BZIMsZKCfHZ8oqwU4g6mmmJath2gODRDx3mfhH6yaimDL7v4i SAIIkrEHXfSyovrTJymfSfQtYxUraVZDqax6oj/eGllRxliGfMLYG9ceU+yU/8FN LE7P+Cs19H5tHHzx1LlieaK43u/XvbXHlB5mqL/fZdkUIBJsjbBVx0HR8eQl2CH9 YJDMOPLADecwHoyKA0AY59oN9d41oF7yZtN9KwNdslROYH7mNJlqMMenhXCLN+Nz vVU5/7/ugZFhZqfS46c1WdmSvuqpDp7TBtMeaH/PXjysBr0iZffOxQ== -----END RSA PRIVATE KEY----- EOF cat > demoCA/cacert.pem <<EOF -----BEGIN CERTIFICATE----- MIIDJDCCAo2gAwIBAgIBADANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJVUzET MBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxDjAMBgNVBAoT BXNpcGl0MSkwJwYDVQQLEyBTaXBpdCBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0 Jennings, et al. Expires May 27, 2010 [Page 38] Internet-Draft SIP Secure Call Flows November 2009 eTAeFw0wMzA3MTgxMjIxNTJaFw0xMzA3MTUxMjIxNTJaMHAxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMREwDwYDVQQHEwhTYW4gSm9zZTEOMAwGA1UE ChMFc2lwaXQxKTAnBgNVBAsTIFNpcGl0IFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9y aXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDIh6DkcUDLDyK9BEUxkud +nJ4xrCVGKfgjHm6XaSuHiEtnfELHM+9WymzkBNzZpJu30yzsxwfKoIKugdNUrD4 N3viCicwcN35LgP/KnbN34cavXHr4ZlqxH+OdKB3hQTpQa38A7YXdaoz6goW2ft5 Mi74z03GNKP/G9BoKOGd5QIDAQABo4HNMIHKMB0GA1UdDgQWBBRrRhcU6pR2JYBU bhNU2qHjVBShtjCBmgYDVR0jBIGSMIGPgBRrRhcU6pR2JYBUbhNU2qHjVBShtqF0 pHIwcDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcT CFNhbiBKb3NlMQ4wDAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBD ZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B AQUFAAOBgQCWbRvv1ZGTRXxbH8/EqkdSCzSoUPrs+rQqR0xdQac9wNY/nlZbkR3O qAezG6Sfmklvf+DOg5RxQq/+Y6I03LRepc7KeVDpaplMFGnpfKsibETMipwzayNQ QgUf4cKBiF+65Ue7hZuDJa2EMv8qW4twEhGDYclpFU9YozyS1OhvUg== -----END CERTIFICATE----- EOF # uncomment the following lines to generate your own key pair # openssl req -newkey rsa:1024 -passin pass:password \ # -passout pass:password \ # -sha1 -x509 -keyout demoCA/private/cakey.pem \ # -out demoCA/cacert.pem -days 3650 -config ${CONF} <<EOF # US # California # San Jose # sipit # Sipit Test Certificate Authority # # # EOF openssl crl2pkcs7 -nocrl -certfile demoCA/cacert.pem \ -outform DER -out demoCA/cacert.p7c cp demoCA/cacert.pem root_cert_fluffyCA.pem A.2. makeCert script #!/bin/sh set -x # Make a symbolic link to this file called "makeUserCert" # if you wish to use it to make certs for users. Jennings, et al. Expires May 27, 2010 [Page 39] Internet-Draft SIP Secure Call Flows November 2009 # ExecName=$(basename $0) # # if [ ${ExecName} == "makeUserCert" ]; then # ExtPrefix="sipuser" # elif [ ${ExecName} == "makeEkuUserCert" ]; then # ExtPrefix="sipuser_eku" # elif [ ${ExecName} == "makeEkuCert" ]; then # ExtPrefix="sipdomain_eku" # else # ExtPrefix="sipdomain" # fi if [ $# == 3 ]; then DAYS=1095 elif [ $# == 4 ]; then DAYS=$4 else echo "Usage: makeCert test.example.org user|domain eku|noeku [days]" echo " makeCert alice@example.org [days]" echo "days is how long the certificate is valid" echo "days set to 0 generates an invalid certificate" exit 0 fi ExtPrefix="sip"${2} if [ $3 == "noeku" ]; then ExtPrefix=${ExtPrefix}"_noeku" fi DOMAIN=`echo $1 | perl -ne '{print "$1\n" if (/\.(.*)$/)}' ` ADDR=$1 echo "making cert for $DOMAIN ${ADDR}" rm -f ${ADDR}_*.pem rm -f ${ADDR}.p12 case ${ADDR} in *:*) ALTNAME="URI:${ADDR}" ;; *@*) ALTNAME="URI:sip:${ADDR},URI:im:${ADDR},URI:pres:${ADDR}" ;; *) ALTNAME="DNS:${DOMAIN},URI:sip:${ADDR}" ;; esac rm -f demoCA/index.txt Jennings, et al. Expires May 27, 2010 [Page 40] Internet-Draft SIP Secure Call Flows November 2009 touch demoCA/index.txt rm -f demoCA/newcerts/* export ALTNAME openssl genrsa -out ${ADDR}_key.pem 2048 openssl req -new -config openssl.cnf -reqexts ${ExtPrefix}_req \ -sha1 -key ${ADDR}_key.pem \ -out ${ADDR}.csr -days ${DAYS} <<EOF US California San Jose sipit ${ADDR} EOF if [ $DAYS == 0 ]; then openssl ca -extensions ${ExtPrefix}_cert -config openssl.cnf \ -passin pass:password -policy policy_anything \ -md sha1 -batch -notext -out ${ADDR}_cert.pem \ -startdate 990101000000Z \ -enddate 000101000000Z \ -infiles ${ADDR}.csr else openssl ca -extensions ${ExtPrefix}_cert -config openssl.cnf \ -passin pass:password -policy policy_anything \ -md sha1 -days ${DAYS} -batch -notext -out ${ADDR}_cert.pem \ -infiles ${ADDR}.csr fi openssl pkcs12 -passin pass:password \ -passout pass:password -export \ -out ${ADDR}.p12 -in ${ADDR}_cert.pem \ -inkey ${ADDR}_key.pem -name ${ADDR} -certfile demoCA/cacert.pem openssl x509 -in ${ADDR}_cert.pem -noout -text case ${ADDR} in *@*) mv ${ADDR}_key.pem user_key_${ADDR}.pem; \ mv ${ADDR}_cert.pem user_cert_${ADDR}.pem ;; *) mv ${ADDR}_key.pem domain_key_${ADDR}.pem; \ mv ${ADDR}_cert.pem domain_cert_${ADDR}.pem ;; esac Jennings, et al. Expires May 27, 2010 [Page 41] Internet-Draft SIP Secure Call Flows November 2009 Appendix B. Certificates for Testing This section contains various certificates used for testing in PEM format. B.1. Certificates Using EKU These certificates make use of the EKU specification described in Draft SIP EKU [13]. Fluffy's certificate. -----BEGIN CERTIFICATE----- MIIEHzCCA4igAwIBAgIIAVIBVAGQAEcwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4w DAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkwHhcNMDkwNDI5MTcxMDQ2WhcNMTIwNDI4MTcxMDQ2WjBiMQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux DjAMBgNVBAoTBXNpcGl0MRswGQYDVQQDFBJmbHVmZnlAZXhhbXBsZS5jb20wggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD0D+gYLbGbk+9kaxnXg6z3rxI3 MEjfblUKzvcqGRdmvEKveq94bJbGwd5eOGeTjfJAE7VvB3neMiwj57rkqDYyg4p1 eYaFolDRu7WBNn5r8mSbtlTTi8RNTSaUrnxQ5LLmX6w04JdRzf9muZKYxcwi5www pEymN7ohMbKBkw0k7qcnybPsRuP5etJCClmr56OLMGY9MYhv7sSNJMqZ8chMUA1L a3OArHRvRbEpKaGJQJQCVyOLbWBcONMfw7t0PRWHry0pFmwwAU7jORMXa+pYl3Wf YDiELDGVbthtaYG7LvpZovsIU1nfHpQX5RD4clr7Tk8vzTs9MMW2yDvg5zLtAgMB AAGjggFKMIIBRjBRBgNVHREESjBIhhZzaXA6Zmx1ZmZ5QGV4YW1wbGUuY29thhVp bTpmbHVmZnlAZXhhbXBsZS5jb22GF3ByZXM6Zmx1ZmZ5QGV4YW1wbGUuY29tMAkG A1UdEwQCMAAwHQYDVR0OBBYEFNKiIvtNoTe5FQse/Ce8+gCnHPIpMIGaBgNVHSME gZIwgY+AFGtGFxTqlHYlgFRuE1TaoeNUFKG2oXSkcjBwMQswCQYDVQQGEwJVUzET MBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxDjAMBgNVBAoT BXNpcGl0MSkwJwYDVQQLEyBTaXBpdCBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0 eYIBADALBgNVHQ8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMU MA0GCSqGSIb3DQEBBQUAA4GBAICg20XdfbZQtpMnNs3NKDw5I6rkbpz32YyWTbc2 9qzBj4bYapE6T1poMjffD91AtzRokc4P8BYC7r62HeGSh8leqUJ4JkW7Fwjug+rp 2DCEZpBpuHj/xAlc6uKKEOb5ZOvbRw4QKU0Ou1NlcOFxgsjQFPQkMEmm/ICosYS8 6XN1 -----END CERTIFICATE----- Fluffy's private key Jennings, et al. Expires May 27, 2010 [Page 42] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA9A/oGC2xm5PvZGsZ14Os968SNzBI325VCs73KhkXZrxCr3qv eGyWxsHeXjhnk43yQBO1bwd53jIsI+e65Kg2MoOKdXmGhaJQ0bu1gTZ+a/Jkm7ZU 04vETU0mlK58UOSy5l+sNOCXUc3/ZrmSmMXMIucMMKRMpje6ITGygZMNJO6nJ8mz 7Ebj+XrSQgpZq+ejizBmPTGIb+7EjSTKmfHITFANS2tzgKx0b0WxKSmhiUCUAlcj i21gXDjTH8O7dD0Vh68tKRZsMAFO4zkTF2vqWJd1n2A4hCwxlW7YbWmBuy76WaL7 CFNZ3x6UF+UQ+HJa+05PL807PTDFtsg74Ocy7QIDAQABAoIBAGAETgQNHf2eAqVX +U+vLwI2bw0lQtYb+vsIl3aJboptcDLHKndPCTZimRAqUp1bT73jwxJON6SxymnJ xd4lS0UuOO+kgsbaJ7+LgIm4HZ5sOyaDYfXj27OpsY724lOU1ckKRJ586Ss2xs7s HP9beccVbNdKHBmcfO6INbkCWD55nLspPlNOaRZwW/h7ID0hT+Kd4e+U4Kz9TeeD NsmugwrPaNX3T1R1QBPK9HDLv8cyo3AJskfN7K+14tY+bkwAH+6IySq2JvhUBHnZ xI/ieO0SeX+kG2nEk8nkXlphyrUJ5o+HQBeWec8nx9jYH6jFN1fvB5GsLUEw9GHo AOe5YgUCgYEA/KwR2E/pq4oRy3b6WbH3tSktmCcF9nzmBn0fUGYliX0HRtnp1pwx x+OEUMsDmnwE4TmMJudzFYLRWbddm4pYHiqZGLjmd96UDUsjU+eV0INw4sebsoP4 ymO7JEPt+ewOz07/+aKsqtUCeJUFXksqUmz8yPOkSRgwG7WdJtZvcm8CgYEA90bO gtR3Owc17X7i1eeNmpo7PHFuAK3b3ULqmLSQebIPBYTMBJ0GMPqSqHcCSYwAuT3O HIH6i7B7I2GniqgC2nGaN962yy1nh3S8NnUuJ0LcxoMoDSpy6d2INlL27XG6K9dv ROLhVylPlFnlo/QEWJy2OrzXtRPQOYAMJS2iLmMCgYBZLPmXWIzl5/Lj1ngBFBiS rZfT7WHjXq1oeNyGaaax4Zih3uLyxWmkXJ4kTaJV8ZNfUgou6NzrKKJugZLeBHOZ IfuqiAd/IuUp0+0B/egYEWvT/hLrbDxwYcZ4xCjHXhLUA9O/7TP3jvoySJX+c5Ta RnDpE2RWD91ayjxOqrvmrQKBgQDw2OWiJoGvW9mZ5mHYiL2y3RBfUfgb7ztcaqYH cK/b6KOa83qn762tHRKlxazTp+q4gstzluJLFu0JTD+c3QJSdB4K1wFiKmpRVFFS FZaLpSNWsz7afAMLaLwYdXyPT5tOwnpdNULY26LoUxtKMw3cpV8VHQRZGeBRcTfj KmxyEwKBgH/8LJfit80sEYSUB0MDa8diI8Bc/BJwHJYgZpihpjGXh0YFGN+laX9+ CSgbG9FyvSTO6fRhRlhRSVlZt4fcx9woMXcmG+PzITLcCdaJHFOuqWUS8cPa+II2 NW30dkcLPKpxa8bOBC7x6mxYzdw4GfpZmQlIo9SS6NwqU7sHuqpC -----END RSA PRIVATE KEY----- Kumiko's certificate Jennings, et al. Expires May 27, 2010 [Page 43] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN CERTIFICATE----- MIIEHzCCA4igAwIBAgIIAVIBVAGQAEgwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4w DAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkwHhcNMDkwNDI5MTcxMDQ3WhcNMTIwNDI4MTcxMDQ3WjBiMQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux DjAMBgNVBAoTBXNpcGl0MRswGQYDVQQDFBJrdW1pa29AZXhhbXBsZS5uZXQwggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9KZU33jUDzO1UjmSEWEjKPjA3 yzJJTZuKTRq0BOmwtYwPBeGzp3gePo5jTOUB3PAqzm26PlobjqmobPOErKuIFLsX 1Wz4BsQEArBqm8951Z5TreerajP1SgIvCFHw9B/QOQQaLr7r9JSEQCYSM2mh/w9j QzbB/cvl3EV70rPgtOoDxvWu0X11YmblvRjDUum1sECSPOsMbj+a+lZWR/VRkUoz /nrRCy1JGLm6U7ZJ+It2ZTXOQHbAHhuOm4g+JduG20vqefF6hWyu7FuPFKSQqynk LEqvxU5gf11T50b4cesE3beqUZjfA9Pnuhi80oSmJ4F8t5eLkli8+5CQgkX/AgMB AAGjggFKMIIBRjBRBgNVHREESjBIhhZzaXA6a3VtaWtvQGV4YW1wbGUubmV0hhVp bTprdW1pa29AZXhhbXBsZS5uZXSGF3ByZXM6a3VtaWtvQGV4YW1wbGUubmV0MAkG A1UdEwQCMAAwHQYDVR0OBBYEFP2goFhmLdm2DfWUq+4yspNxHAkAMIGaBgNVHSME gZIwgY+AFGtGFxTqlHYlgFRuE1TaoeNUFKG2oXSkcjBwMQswCQYDVQQGEwJVUzET MBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxDjAMBgNVBAoT BXNpcGl0MSkwJwYDVQQLEyBTaXBpdCBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0 eYIBADALBgNVHQ8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMU MA0GCSqGSIb3DQEBBQUAA4GBALDTtkB6X0HQ08QnmVQBCex1/TuZ5I+sT8IWayp3 6rXEtRrAvnzgC8wF5qIVevL6jo6D2lShR5EEeu1ICxJzZuDKTZu3aen2XJgyhLds MuxlHWCZ+Gxlo4EPzx9cc7NdW7x62qoHr2uyhrdvkNsqUfBl1TJRNc9l+RmdAzwa t4NG -----END CERTIFICATE----- Kumiko's private key Jennings, et al. Expires May 27, 2010 [Page 44] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAvSmVN941A8ztVI5khFhIyj4wN8sySU2bik0atATpsLWMDwXh s6d4Hj6OY0zlAdzwKs5tuj5aG46pqGzzhKyriBS7F9Vs+AbEBAKwapvPedWeU63n q2oz9UoCLwhR8PQf0DkEGi6+6/SUhEAmEjNpof8PY0M2wf3L5dxFe9Kz4LTqA8b1 rtF9dWJm5b0Yw1LptbBAkjzrDG4/mvpWVkf1UZFKM/560QstSRi5ulO2SfiLdmU1 zkB2wB4bjpuIPiXbhttL6nnxeoVsruxbjxSkkKsp5CxKr8VOYH9dU+dG+HHrBN23 qlGY3wPT57oYvNKEpieBfLeXi5JYvPuQkIJF/wIDAQABAoIBAQCI9zv5WOawGsjZ icTUYwxJjB/jtjhyBUSTLmMgZ9JBxiJkmlCjgaYi2A7Hbdz/rVck15Vx3kXmYDUO I91reo81GDWj+0BMkrGJad0NREZFJFzgoDH31w1KFU1herfCLTF/1ljXEHPja5PB 8qTeVuWsi38702YprrfddtHE53qhP3xWgzhYS8jcGfBYCccC8lPYPiHaU4gqErF9 Uxk6JGOS0D4iCY8Y4mvSQvWHHiYFVegnx9uuUCChX8CQtYZJvfNdOHJszlxxnGy7 O8/EvrEVrO9hmTrbG10nrFu/RVFUQDrY8N2ngtsVXYeso2aUT+Hnhzg6FQBLZXKh lOWejTCxAoGBAPnY0RO5JAoaFjhYmlCd79GySUfBsrI50np6KNdrtWsylS6EETdv QR5PFZG/sr3U/ez2FD2NadGABl1rMthSf4MT6J4oiMNuffLocXkVeXwUMgg+eHu7 rn0gDL8ZjzVVcwQPVsodjfJzC76Cbjb8JZoLxU/pa09agFTIDe2YDF/pAoGBAMHS LNA6w0b1O/ZvQj0bZ6SLiPgydufodU6wvkxNBj+93k64eq/+S53SeDQA7oJpFBMZ 2kEhgEObYbYY+ZH9GGbsIJMGYcCG7dqXqpMljs4RM99ef5QrdzdDFUDRmRbd2Z+d /28cEFsPeMKqU/kPTWZtjrJf+HMybQU4Dvb0Xe2nAoGBALJtX+r49j7soF+/Dv1x vToBXAoNz6MuXh0vrokhl58lsZpVoMH5BwUxL1M2Ft0xBeK7XnsSybZe+qyuiNIq IHwotKB2jC0ddH8L9zWk22x8M7rlej/LKfKb995lz3skOg51MeMHtj6mYIW+Oh20 dtoLe+704Lj8BdgGQsQiKPw5AoGBAK/biguY9auBQNm1Uy1smxpB/JHt/9MlKKKw XMmQLXZSSM22NqNOoL9ewu+0VLQAsVUvZMcppV4yMnLtsCvUr3pbDqc36COuiUuH xx3huvOfyigGbs06rt12QWdhhXyo6BcaXTQsC28D17cQokZdqwWfrBSOXTfwbdiJ Z5KMYFkLAoGAGL9UX9Dea9qnsJZUryxhTxo55ggbKBcJQv+syT8veEJFL9oBsU+b bz+OXOmw0GauPywgok3qpLZ+4mxWs4sX4ca3c/eVCKmpUJ4oWnarhEn5n+jIiWVo wJP99QCcEdajdf4r/E8tywJ7LgiE37YMQYl9oWOYexOQNg/HRqtM1VU= -----END RSA PRIVATE KEY----- Certificate for example.com Jennings, et al. Expires May 27, 2010 [Page 45] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN CERTIFICATE----- MIID5jCCA0+gAwIBAgIIAVIBVAGQAEMwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4w DAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkwHhcNMDkwNDI4MjIxMjAwWhcNMTIwNDI3MjIxMjAwWjBbMQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux DjAMBgNVBAoTBXNpcGl0MRQwEgYDVQQDEwtleGFtcGxlLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAMdgCSziC6aNLI+G60dyTdwgpUhpnMZ5czpl 5HS2gJlPbqQbG29ckSl8EaG9rSXGQqOWu9jIEdgqvDlf41+aVPUMd0TG8O6nc4XQ 0dc0ltgkg/4dp16UaqZ55ovWlgYxjdpN8XLAopxIydIfgCdgUrgSzEN852ast24H vOfVD/pBszdPFjNx/G1zF7Vli2UDNIOOmH2LozbxpzeUZa/dEyn4G8KL+gUDa0sm rqmTq10M8wiEnhbAE/rajxy2aZUEbcjPwBKP/ScqyxYW/cL6lP7oeEDkWqyn79cX fej4howWNf8+Mv1DHMEgCCyqVqYXT7x0sF1XuqUZtCBG3TY9FbMCAwEAAaOCARgw ggEUMB8GA1UdEQQYMBaCA2NvbYYPc2lwOmV4YW1wbGUuY29tMAkGA1UdEwQCMAAw HQYDVR0OBBYEFCjMmytPfENcna2Wi3OiT1hdMNQEMIGaBgNVHSMEgZIwgY+AFGtG FxTqlHYlgFRuE1TaoeNUFKG2oXSkcjBwMQswCQYDVQQGEwJVUzETMBEGA1UECBMK Q2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxDjAMBgNVBAoTBXNpcGl0MSkw JwYDVQQLEyBTaXBpdCBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eYIBADALBgNV HQ8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMUMA0GCSqGSIb3 DQEBBQUAA4GBAB+3woRDkNIGgUdI5xQ5Wq2gUzb7b9fhv7FlmP2mxeBat1+QCKvU hSrRV/IOwSZD3uEmHu+QlZRudEU2AUHOQ8KRVN01qG5XO7I0carU6jSqjI7d4aQs BUX7uDgMex9P1zzXaHxXV20Txj9E3f1r+2WWm4eSlRCv50fNcmxu12D1 -----END CERTIFICATE----- Private key for example.com Jennings, et al. Expires May 27, 2010 [Page 46] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAx2AJLOILpo0sj4brR3JN3CClSGmcxnlzOmXkdLaAmU9upBsb b1yRKXwRob2tJcZCo5a72MgR2Cq8OV/jX5pU9Qx3RMbw7qdzhdDR1zSW2CSD/h2n XpRqpnnmi9aWBjGN2k3xcsCinEjJ0h+AJ2BSuBLMQ3znZqy3bge859UP+kGzN08W M3H8bXMXtWWLZQM0g46YfYujNvGnN5Rlr90TKfgbwov6BQNrSyauqZOrXQzzCISe FsAT+tqPHLZplQRtyM/AEo/9JyrLFhb9wvqU/uh4QORarKfv1xd96PiGjBY1/z4y /UMcwSAILKpWphdPvHSwXVe6pRm0IEbdNj0VswIDAQABAoIBACW1MScO/ZsbekEP CHKz2Kv4dKo0Z1VWZQe3e7TjS4Ezd76L7e1q+X16HK+Veyj4zWO5P3/pnw5eTskf LJbJTqYmHGyin7DTdNLrQrTMGnd4uIoYO650rZMc3RC3nho/xw9xzGeirV6Xmawn DwrjeeGclItzFSTjJ7IkvoKuVl5DNzDAY2DA4YIb8uTYPsqX/jFMaPwxFFhT+mXJ LX+oniwAsnihfHeXbFiTF1yEw4UCxn3xQ5YE8wZshG+8yjHyLzLAc8NQ7XnCkze8 G/En/LwwTAaX7L5yRSjBeb8Mp+96s11LtlzR+8uGVbu6nfcXbVTD2zYxuLiyp2VB EZDaMQECgYEA79YZvUGhNt7F59N+oFpL1xaOjPprN7HV3OevJ5k2sue8B/NjVb5U RNDxpANkyKh4wARzR25DEAh103XKlfsPOMCdZ9t/3zdOrl5SC7URPPEd4QGvWyKb 0KiNbwIQdSmiPHeMLsT/+pXu9HbH7key7Sl0pdGwvgNI1oy5xy3dnTMCgYEA1M/b mviLD48Zzb3GtMnZHf4uh7W58muNsy9gAEFb4eNLFSpi11m/5s1+YiqB6WwkGjeF Rrp8tGcNyOK6oaAa0G4g/CrSY1GHdDhketD26mFVhbwpYkvr3oPjFcTMnqbS1uTs c8dniGnknMlP5e1jh4+GyPg6o+/1/6LIp4nFpYECgYBkg2wiHwE7h72VXNOyzGUA bZmsh76rhsJEZGzJwbJk5C2vf1dgNfYHKTI8NJfmaITCpJrTkuhULdeDmdgfZyqH 9GGDh0BeAkXdWfY0pdvlmH+XLyeYoDaBCkLMBSd0ktBFWyzK5REKqg+NMMK1oCLi tf8HB4x09ddu42dwjE5WdQKBgF3SSbIX008HusuO2DTKLHNhpWflQVZT/oO55iwW pIiA6ZAqQKtKgSUjAY4LyXx8VapNQe+9tc7fBB/FfZxV9pxfgSFLS7fHsN0XI41V 5RXN1aOBIgmZCSLvqETnn4Jub9OX13rvtYBZlxVcV2I590BDkZu2fDvcReru/GGI ht+BAoGBAKpKk0umVaTdJyrZQQtXy+vTomQPKA9CkAkY2UEtlaMYe6+/NfxG0Kwz cWBUlm18LQkN+Xxzfv+fccqgq9bWDxXQOQN4+4kzNALCtpRiVT7PetXyxlIqHSvW dR/DaSj/2QyIkamHYlQ/38X/dfgIXWSSRz28HOfBl+KRY/Hr+McO -----END RSA PRIVATE KEY----- Certificate for example.net Jennings, et al. Expires May 27, 2010 [Page 47] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN CERTIFICATE----- MIID5jCCA0+gAwIBAgIIAVIBVAGQAEQwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4w DAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkwHhcNMDkwNDI4MjIxMjAwWhcNMTIwNDI3MjIxMjAwWjBbMQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux DjAMBgNVBAoTBXNpcGl0MRQwEgYDVQQDEwtleGFtcGxlLm5ldDCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAOQ2eHy6Rcp2qJwG5nOtjPapW28C0KJgFDWf VF3cFearrhGJh5HznphcjhUnyfIoVSn3PA138ZWZ4ecZFDyAgB5gXYfgs3rXGAD6 3d5iGYeTCT2jV3z69ppZdlDK+sMmySa2N/oZYaQfkHz62MdA0pT58oLPvi/PKWrz 4EEOAYUrt3u5bCaIK+jt1KkpVkXBitxdlHDHmne6sZ+9foBQnPxiB3FRVPvX3c2K fzdMfru6PCAyC6wqR/ZJ2ExoH6AZKB/mMn27WLs1IKdgJecYMh3jWHnm03ZN7sG9 JT3lSh7HDmbPtTzf8k/v9khx+0jOF9oGAuubRDB7Jmu3Fzr3wGUCAwEAAaOCARgw ggEUMB8GA1UdEQQYMBaCA25ldIYPc2lwOmV4YW1wbGUubmV0MAkGA1UdEwQCMAAw HQYDVR0OBBYEFC2E2M9LFIlojb9rx+9mOPAye5W7MIGaBgNVHSMEgZIwgY+AFGtG FxTqlHYlgFRuE1TaoeNUFKG2oXSkcjBwMQswCQYDVQQGEwJVUzETMBEGA1UECBMK Q2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxDjAMBgNVBAoTBXNpcGl0MSkw JwYDVQQLEyBTaXBpdCBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eYIBADALBgNV HQ8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMUMA0GCSqGSIb3 DQEBBQUAA4GBADsZEm9o1Pjs0zA7AST1fu7IdkxIn6aEdXCRQ/HQn5QCg2qzVYjb 5rvv+Fj5Jdj0SNm2fXD5NX/ny5Bcq26mmMzrB5GtZAYPyNxmWvX4cN1MrKLGVVtB wIguHgGYgF1AWhCguOMqSBxaI98+J4VMQuJ+w2NR7sW+wtyc9KMCW3OT -----END CERTIFICATE----- Private key for example.net Jennings, et al. Expires May 27, 2010 [Page 48] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA5DZ4fLpFynaonAbmc62M9qlbbwLQomAUNZ9UXdwV5quuEYmH kfOemFyOFSfJ8ihVKfc8DXfxlZnh5xkUPICAHmBdh+CzetcYAPrd3mIZh5MJPaNX fPr2mll2UMr6wybJJrY3+hlhpB+QfPrYx0DSlPnygs++L88pavPgQQ4BhSu3e7ls Jogr6O3UqSlWRcGK3F2UcMead7qxn71+gFCc/GIHcVFU+9fdzYp/N0x+u7o8IDIL rCpH9knYTGgfoBkoH+YyfbtYuzUgp2Al5xgyHeNYeebTdk3uwb0lPeVKHscOZs+1 PN/yT+/2SHH7SM4X2gYC65tEMHsma7cXOvfAZQIDAQABAoIBAC1K/kjK83UGbdph qDVHOZXu8N2scln3tasazzS9rH8WjbqfUA/QiSZ2ICDkv7jW9mgY0ItfxcvKOcKT AKgtXMAqogWIvDZiIDp5j7VGRQjaTtgz5fZBHNZvcQMB9hjrRrrvKVby2KUpOpUD eCi7nc/Bd7csofN9Kxw2AMkIjZavQXvNLpOCxoNj5k8XwOyCvrQ5SUoqeeA2a+Vq FE1YNgmtVE2oFOXw/5xvrPIZyjfR9rwIijD7pUs1Inmrc/WZRYDKuYUfQ+DG0TiA IFv1zYcamjVEaOqBErI+G8wM0PA6bVQz/J9gdsmIUtXIXLWkxdD7+5VgVqkLXbOX kP+J4HUCgYEA+1zg6p0pMUdh54AU9qghMv1s+di8gBtxHLCF8LP3wFe1AHRgopfn NppDz6TjQjcc6+0OeHwLlgoEwSnR3+3ik/Ae4dn1Ynfzrw8RqLuc/hfRgUC4zHxr 9kvqTIpV0R2Ytj4GaZW+xKTjzVHYR3gEkP+ItDGUXkT0T7w7I1UvAR8CgYEA6GxC rm/HIlhwyo9nT9hxGliw7GbiENc2ql79a3H/es7EkSdn4NvDq2dUHvSCinISHQH3 +b0znHkGaQ3iFvlCdvA4yylRYx8WLvJI19J1K8dmi26BTAVvorNpWgvmSfbmZZHh Y61T4BAwi1SToXjcCcfu/2Hz7Jqxg3jXrXRmefsCgYEA5mMGs4NA0i3/ClRW4ozP gRDO5WFFxJViY01YNnp9RgodmEESoXRhM6bJKHSU54fkNkmczcnERM0B9poCByDe X4HijFddldcjvvwsz17GUg46tCFCQAp6WdDS+zx/058w7TiEYBokM9B+Cx5NAZR7 evr7rU0UFCNXWg3IlmXpIzkCgYBVQol/hd+N2NWfaNWkM6jh2lEkl2UselZCT1A1 Xv8yJLF08fioQtXXhbMVG+rbMJc2budxhJdvOfJBDWe3t75K9TpQRJrneprfo99W 1IxI//+8/E+P/JqEG7502tKipWDFN6tvrkCLfETih6cUX8qQB/jDVEJvtBuUN/se VQnWiwKBgGrvslD5N2wGmnCxjBdMb2KvCPRq0t28t/D5plHgGpEC6k1rhRHCtXpE IK+QEb6/DWjqGYaWHamaVEfUVLrKPVA25hAl+nMg9qQYC0cufmN+Ufe9nLn47IY0 NXOdHuhaYsf6g/UQEZKSj2wX9poBfAkXZBWnBYKOn0gfq6KjvW82 -----END RSA PRIVATE KEY----- B.2. Certificates NOT Using EKU These certificates do not make use of the EKU specification described in Draft SIP EKU [13]. Most existing certificates fall in this category. ASN.1 dump of Fluffy's certificate. Version: 3 (0x2) Serial Number: 02:55:01:38:02:00:00:6a Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=California, L=San Jose, O=sipit, OU=Sipit Test Certificate Authority Validity Not Before: Apr 30 21:37:01 2009 GMT Not After : Apr 29 21:37:01 2012 GMT Subject: C=US, ST=California, L=San Jose, O=sipit, CN=fluffy@example.com Subject Public Key Info: Jennings, et al. Expires May 27, 2010 [Page 49] Internet-Draft SIP Secure Call Flows November 2009 Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:c8:4c:e9:f6:18:17:0e:99:48:d5:b6:d9:aa:ea: c9:78:14:a8:a1:2c:c9:ef:6b:00:7b:0d:73:64:bc: 51:74:5b:bc:9a:48:2a:6d:67:af:53:ae:17:75:61: 55:33:16:c2:8f:f2:1b:7b:e1:f9:64:44:50:3a:48: 42:e2:91:8b:44:25:b3:81:32:d8:03:cc:c5:fc:4b: 2d:10:83:3b:e9:a9:a8:f9:b0:e5:6a:8d:80:82:84: 7e:f9:95:17:c9:2d:d0:50:28:a0:c2:ae:44:53:90: 4b:53:d5:f3:44:85:22:cb:96:99:d3:8e:ff:22:97: 1e:24:e7:3d:c2:89:ce:10:c7:05:65:6a:6d:18:44: ea:20:ff:25:e1:95:be:1f:03:51:bc:27:fd:70:da: 24:cf:d1:43:33:d0:fe:c2:85:0c:f2:75:51:3f:bf: bb:b8:8a:ed:99:2f:74:a7:6a:60:a8:31:1f:71:78: 07:c8:d5:63:38:2e:52:3f:2c:27:b6:42:12:0c:d3: b5:f5:90:89:f7:20:af:0a:0d:a0:a2:99:46:40:6d: ac:2c:7c:a2:93:7f:f5:70:28:18:af:14:e0:6f:0b: dc:a9:e6:22:b2:47:0c:91:68:20:1f:ff:18:5f:be: d1:85:5c:1a:28:f1:71:b4:d1:3b:68:e3:c4:03:d8: f6:99 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: URI:sip:fluffy@example.com, URI:im:fluffy@example.com, URI:pres:fluffy@example.com X509v3 Basic Constraints: CA:FALSE X509v3 Subject Key Identifier: 2F:A3:00:77:AC:EB:4E:0C:16:99:01:3A:11:A3:6B:29:04:04:44:1A X509v3 Authority Key Identifier: 6B:46:17:14:EA:94:76:25:80:54:6E:13:54:DA:A1:E3:54:14:A1:B6 DirName:/C=US/ST=California/L=San Jose/O=sipit/ OU=Sipit Test Certificate Authority serial:00 X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment Signature Algorithm: sha1WithRSAEncryption 08:26:de:cc:56:64:ae:39:24:9b:07:19:13:28:b4:67:4f:11: 81:97:56:e6:f3:dc:84:12:e4:a6:08:d4:b3:f5:46:35:6c:e5: 90:65:55:52:e6:92:de:b8:2f:f9:e1:fc:ff:45:1b:fe:5b:b0: 37:97:99:b6:d7:54:30:d6:cb:08:e5:55:32:9f:0d:41:c3:76: 49:fa:e7:e6:33:9b:ef:3b:dd:f6:f9:01:a6:61:8c:34:91:33: 86:de:1d:8e:3d:ec:58:a0:f8:d5:f0:db:33:9c:97:40:b9:5f: 7c:7f:b9:01:56:05:85:ad:35:af:9b:0d:c9:82:84:c1:0a:21: ba:99 Jennings, et al. Expires May 27, 2010 [Page 50] Internet-Draft SIP Secure Call Flows November 2009 Fluffy's certificate. -----BEGIN CERTIFICATE----- MIIEADCCA2mgAwIBAgIIAlUBOAIAAGowDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4w DAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkwHhcNMDkwNDMwMjEzNzAxWhcNMTIwNDI5MjEzNzAxWjBiMQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux DjAMBgNVBAoTBXNpcGl0MRswGQYDVQQDFBJmbHVmZnlAZXhhbXBsZS5jb20wggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDITOn2GBcOmUjVttmq6sl4FKih LMnvawB7DXNkvFF0W7yaSCptZ69Trhd1YVUzFsKP8ht74flkRFA6SELikYtEJbOB MtgDzMX8Sy0Qgzvpqaj5sOVqjYCChH75lRfJLdBQKKDCrkRTkEtT1fNEhSLLlpnT jv8ilx4k5z3Cic4QxwVlam0YROog/yXhlb4fA1G8J/1w2iTP0UMz0P7ChQzydVE/ v7u4iu2ZL3SnamCoMR9xeAfI1WM4LlI/LCe2QhIM07X1kIn3IK8KDaCimUZAbaws fKKTf/VwKBivFOBvC9yp5iKyRwyRaCAf/xhfvtGFXBoo8XG00Tto48QD2PaZAgMB AAGjggErMIIBJzBRBgNVHREESjBIhhZzaXA6Zmx1ZmZ5QGV4YW1wbGUuY29thhVp bTpmbHVmZnlAZXhhbXBsZS5jb22GF3ByZXM6Zmx1ZmZ5QGV4YW1wbGUuY29tMAkG A1UdEwQCMAAwHQYDVR0OBBYEFC+jAHes604MFpkBOhGjaykEBEQaMIGaBgNVHSME gZIwgY+AFGtGFxTqlHYlgFRuE1TaoeNUFKG2oXSkcjBwMQswCQYDVQQGEwJVUzET MBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxDjAMBgNVBAoT BXNpcGl0MSkwJwYDVQQLEyBTaXBpdCBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0 eYIBADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEFBQADgYEACCbezFZkrjkkmwcZ Eyi0Z08RgZdW5vPchBLkpgjUs/VGNWzlkGVVUuaS3rgv+eH8/0Ub/luwN5eZttdU MNbLCOVVMp8NQcN2Sfrn5jOb7zvd9vkBpmGMNJEzht4djj3sWKD41fDbM5yXQLlf fH+5AVYFha01r5sNyYKEwQohupk= -----END CERTIFICATE----- Fluffy's private key Jennings, et al. Expires May 27, 2010 [Page 51] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAyEzp9hgXDplI1bbZqurJeBSooSzJ72sAew1zZLxRdFu8mkgq bWevU64XdWFVMxbCj/Ibe+H5ZERQOkhC4pGLRCWzgTLYA8zF/EstEIM76amo+bDl ao2AgoR++ZUXyS3QUCigwq5EU5BLU9XzRIUiy5aZ047/IpceJOc9wonOEMcFZWpt GETqIP8l4ZW+HwNRvCf9cNokz9FDM9D+woUM8nVRP7+7uIrtmS90p2pgqDEfcXgH yNVjOC5SPywntkISDNO19ZCJ9yCvCg2goplGQG2sLHyik3/1cCgYrxTgbwvcqeYi skcMkWggH/8YX77RhVwaKPFxtNE7aOPEA9j2mQIDAQABAoIBAQDEaOdiseyqHBUX u91lhCVa4qcYpNq/MqWeBGqK9T7KYspmXy17api57ZSDPZZWKpNOo5HfwI7Ui0hA Xmt30FBH2tBSeJDp6Pqbkvv1nTo6vms7rQLJoUfKtDHuewx/8bS7ZZt+S3QknPHA m6OYJRUhnePpV+dG+/hLJ5WgFZFDUKhXf6+xkfks3N/gi4iqO/fpJZM+2xvjQNqf l1YmzhWoDWI/mmDR0CSnomlUOKc0khr0WOO2K5yeJTJO8cc2S08KX9Tr+idHZoqK FC/brIM0J9v5ObNGUqhtpSz97MJ5cvms+QO7gmOJkC/wbeGhIyY19xLJSmAtGso6 mBz/89iBAoGBAPAKzgZOHZgaMEWKaBBqg5QU/M39YXYHCYPDv9UNyPE+amAvGfuV JZHAz4pOcVzfdkf7eOsX2YcGV4qC/THHfG6/rwIsQcAF5ovuIm28XH60VrMwlcES jfgx8wZXMIgJZXw9+7fHALh6nttFN0dK7ZyFcZazq1qwoIcFnjSCBX41AoGBANWd wgJ2ZXwpVFrSVjXjZBotypsuUr+NvadoODX7l/OWlYdee9+jugoimahKHTQr7nBP AYiqa+5B1GuOBYHNrrQCetiD/1Pc96bRu93Hb1v8/N8qiOobrN8P8ZhvDa1doRLz BxCNv38Yhi4Anf87GqqnZWVG8r9xlUjPXEjSi7NVAoGAbPRKjZwZXLfOX1IyZ/kg 3i8kjI9NFJifHfrU8Oy/35h4Ck522bXaBq1gxqNSW1hmxMeFHBiIOPyM8acBK/4j IdXJpw/VjEZhXfRqFisgRLawf8c2whsc66IocCFVOvog4WL1BXbDgfjOcDKbo7WD 4r7DTycgSRrQ0lifda/qtF0CgYBKTZGKYbxzL70Tyk4KeIn9QShUSgymbJsne+zx eg4kwKBKcecMp1qy484m54C5AP7zOcgCzaS1P1iwALqRqAW4v5QTc/aAKUBLWnDK d/CYQquCxLzTEcVT4avbpeVQBF1exgITE/skLled8MEEYn6oFYoDbGZLiSqwJNCo 0/Ob8QKBgQDh5zhQd7wfV7DCHhxacso0co9SwIk7IX6/MsrL9vRoPB9qJlJLcLUR SjJxCycnJq6uA1Fk24KDmiFppe6VB3uAHsOktzGFQ6rN2Y4F6h+XiwlY+pu2nK/3 2dL4K6mIQzObQRvjChesqs/HmdmKxpDGCFH1H7JKEHjoTdHLWie1tQ== -----END RSA PRIVATE KEY----- Kumiko's certificate Jennings, et al. Expires May 27, 2010 [Page 52] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN CERTIFICATE----- MIIEADCCA2mgAwIBAgIIAlUBOAIAAGswDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4w DAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkwHhcNMDkwNDMwMjEzNzAzWhcNMTIwNDI5MjEzNzAzWjBiMQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux DjAMBgNVBAoTBXNpcGl0MRswGQYDVQQDFBJrdW1pa29AZXhhbXBsZS5uZXQwggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMo9o0vL0mReda5lLtBEyQFrr4 SG8/bHQ6vgYls+5+S/rwLcEayXRHyPqYoBc5Homl4FZkvtTQFJ96A85SeIhErf7J yVagTRSUcpk0eOBtlxur0y1O72tmUujMycoa/mMepbHSzvfJtLr4b8BEVA8PluGY kw8LV21tl8wOExpX9of2QY76Rk8/lhvcW5SGBiKzbTiZaKuyySdGSb6bZKKIeQUw Hv80AeaacdSk98VxJsMwTypRSLJfRSfPCOTzu5XtGB8QVjIINjnzJRsbt5i/h3Iy I1SGW/j3RrgKOBP02eg5snoGbfJRwxvuC1nh90k3CmXs/3k+xugIF6Yudz5nAgMB AAGjggErMIIBJzBRBgNVHREESjBIhhZzaXA6a3VtaWtvQGV4YW1wbGUubmV0hhVp bTprdW1pa29AZXhhbXBsZS5uZXSGF3ByZXM6a3VtaWtvQGV4YW1wbGUubmV0MAkG A1UdEwQCMAAwHQYDVR0OBBYEFJRQpMOT7qyBSBOm6uIyMQdmRo+tMIGaBgNVHSME gZIwgY+AFGtGFxTqlHYlgFRuE1TaoeNUFKG2oXSkcjBwMQswCQYDVQQGEwJVUzET MBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2UxDjAMBgNVBAoT BXNpcGl0MSkwJwYDVQQLEyBTaXBpdCBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0 eYIBADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEFBQADgYEAfqRaxNc9QXObxn3x LWD4NRLvzrYDKdGeIpHBfqoobA7QrP8Z0eAO2ec8z6p5/MR9gqTRi8eHB6z/DoFx l0Ilbs31UNUBjS/ymB6+dInXfHbrjOINi1y1i1hRx2gftvMPaTX7eBD+CZLap9j6 wsAIErFUgng4nwt7K4rHOz49Op8= -----END CERTIFICATE----- Kumiko's private key Jennings, et al. Expires May 27, 2010 [Page 53] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAzKPaNLy9JkXnWuZS7QRMkBa6+EhvP2x0Or4GJbPufkv68C3B Gsl0R8j6mKAXOR6JpeBWZL7U0BSfegPOUniIRK3+yclWoE0UlHKZNHjgbZcbq9Mt Tu9rZlLozMnKGv5jHqWx0s73ybS6+G/ARFQPD5bhmJMPC1dtbZfMDhMaV/aH9kGO +kZPP5Yb3FuUhgYis204mWirssknRkm+m2SiiHkFMB7/NAHmmnHUpPfFcSbDME8q UUiyX0Unzwjk87uV7RgfEFYyCDY58yUbG7eYv4dyMiNUhlv490a4CjgT9NnoObJ6 Bm3yUcMb7gtZ4fdJNwpl7P95PsboCBemLnc+ZwIDAQABAoIBAQCF9kVj/KH+Kgi3 0ss6aXQNZzPiUNiytjaoNbkkeVOIzghprioZdQNv8rtJqpNJSxpkwiUMMnhx9u4n G9K23jymaRi/09OngI4WV6a/WNniI+dzZfzlDYpLI79OQFLTtPACIgn0rJQ9MNis xcshb72kQOtRzAMvM35pHdPw6sR2C7tgJARA+kd01KWQsDdoUbmoFNus5BIJ2O8f 12fbYmX4BPCByGi3uXywuOKkXrxfVwmP2chlz3NjwA1ptdad6Yfa7vy7Yp2Jg0mN MHuIohLwolF1jTJExCWe9QPpWzkT5zTTCqFnRyDX953UWiJiizPTDGySsjKcS/Uq ljJg27ihAoGBAOlLrH6+SIevLq6Z72f73P4xEdZzhXJogOOskijNbjw/uuSHsdEy SL4mSRL3/GBCpWXjurOJcBtjX98qwdrscZhQ3HW6cEFX9BrcC8LssYk6jcinIIK2 FMh9JpF637wWvo+kiK9dJLSOUW+KTIHSdCOqIEqxVRjfN9Ndk3a0PYIvAoGBAOCO QRF+UXu3PLlU9Sdkkr+PJbeDwFvHycelwWu1PsvOQb8Xev8ayKh1XfmOU6r79Ke3 IdWyESyqy1gGuhtGXDo7rjg4oKgjz96GA9jBfoC8F3kpotuiuQ0Pz+l3eE/y0qaP ILgRgQt0UVU/GIlvJ72aLw1oF4TFAgiuULIXOBFJAoGBAI4H1yV2fTu16Gq+JuWc jadngl+YBwdnHgj+OCGFJ/agKg0Vm6krvuOc9WIJ/ekwyfdlFHZXVxwlfOml402A I4xCtmUqM0tk26U6kCKE7XUJY+Zj8UQCzFZe8wsgznN5OVzEI773qvANsQCCJx/m W3SXD3/JxHAW/aq9zpg3FTdbAoGATwJebJxIaUIwsHjvBRxC8fmY6LgHr4NdQMzW gGI2JRl+UpEdarLu1S7ukMb+M1QRYg1ybzEHD/NMNr2vL7eS7b5f71IlXOO02PPI WLTEIOGNVMlMjwDzIWBl5BxwDZk/evEzLvChufkEQP1BUeH1VqXwVkRAuitjKtDC fdbjmFkCgYEAruDA4aeOd6ElmvAXR075Qf+0fg5kgmjq624GGauxfG5armQtvxZe guoYUETHIzUiyjAnOCak5k5Jad0ZMdOth5vvjSiGfnGDq2U7L4xcQObpZjCdIUVt tfVJqzOZxpiSeGZEsDbhgXo19ydHxGcPiTs6XD/2h3MlEVoNUT+t9b8= -----END RSA PRIVATE KEY----- Certificate for example.com Jennings, et al. Expires May 27, 2010 [Page 54] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN CERTIFICATE----- MIIDxTCCAy6gAwIBAgIIAlUBOAIAAGwwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4w DAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkwHhcNMDkwNDMwMjEzNzA1WhcNMTIwNDI5MjEzNzA1WjBbMQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux DjAMBgNVBAoTBXNpcGl0MRQwEgYDVQQDEwtleGFtcGxlLmNvbTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAK2x9ZEaSvqBVpvdG2iyCO66Ryp0ZY0YI8EH v/nx1F9ZqUcaJrN8Kv0DGP7mJFxQWy9xaJSL4LU2xvdVEqusr2TXYhTzbTJvFO9S TdRGqQqwpqKQSvyaxjrTTGC1B2RRUdVvqr+Q1eyiACxiXjnPJxnFAdRVNj/bxz7a sekrkw2jChBdLBsmq6RRbLpmmxOB7/IIub+pZ+QthqHUFS/I/Y5mHd2QB9VCwMfO zQUVtik/D4JfwwWFPRR9ScjT2kuIDL55eeqgEfyultBv5pex4O0AHaoU+Ja2o63H 5jcdzuV26Z5A7MoIg1+Xjg5RE0K2OOpMn642lIh2WydqsHYXI+cCAwEAAaOB+DCB 9TAfBgNVHREEGDAWggNjb22GD3NpcDpleGFtcGxlLmNvbTAJBgNVHRMEAjAAMB0G A1UdDgQWBBQxQBBUszDzhuSJyTDpNZQ+BBLxATCBmgYDVR0jBIGSMIGPgBRrRhcU 6pR2JYBUbhNU2qHjVBShtqF0pHIwcDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh bGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4wDAYDVQQKEwVzaXBpdDEpMCcG A1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQAwCwYDVR0P BAQDAgXgMA0GCSqGSIb3DQEBBQUAA4GBABUwuaPt8wiTkxjT0uKn7ouOidr6F9aV WyZ5KuPnkTPiZWKwyW8SAN9+6iU4BJNvj/3sPxu/lrQy9k+YzJ/a7JHbZgVPVI37 euMOu9SgV2Nc2nakkYwONRnQsnsMBd3NkcL2fgBfV2vVbLNHygaqb1u9XXRr2VWP x2FiTk+jxdye -----END CERTIFICATE----- Private key for example.com Jennings, et al. Expires May 27, 2010 [Page 55] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEArbH1kRpK+oFWm90baLII7rpHKnRljRgjwQe/+fHUX1mpRxom s3wq/QMY/uYkXFBbL3FolIvgtTbG91USq6yvZNdiFPNtMm8U71JN1EapCrCmopBK /JrGOtNMYLUHZFFR1W+qv5DV7KIALGJeOc8nGcUB1FU2P9vHPtqx6SuTDaMKEF0s GyarpFFsumabE4Hv8gi5v6ln5C2GodQVL8j9jmYd3ZAH1ULAx87NBRW2KT8Pgl/D BYU9FH1JyNPaS4gMvnl56qAR/K6W0G/ml7Hg7QAdqhT4lrajrcfmNx3O5XbpnkDs ygiDX5eODlETQrY46kyfrjaUiHZbJ2qwdhcj5wIDAQABAoIBAQCRYwvxUNjBpdEg 1YpDsAHaEQHQf20hFLuYryv5wnnI9fvDEBik06IH9bfOZES7IGey5nJrJEoKZLdV /1eJaxnEhqQKdVdJh8E2MOYEcMC9ue9A0xZxKfwS8RpVODHfvlGJHdcGUe0+DLuo aw4DxWktIMHPQSQPf57e9Z9FVLvaBOU8cgqhK62YpzSe53g97EXGKF+rMres/6Mx hLZIgNKAyPzS7xhUJSYScMk8aWubj/yJ0soGCmB8KWPaFyFsDd40mz0M3I6qEVYc dFy9cCgsTHdPLRbUqLon5ferQFQhQpZjKhn3a0PxjjnRXcKXqDHSBpVAla5P8ykN A59L5EBBAoGBANN+f5XZrKTiSYhLJsGC+PU66rUJiCsRNcjCvPKbLKFD31pw4xjY AoFKwwmoU7NrA93NzC7ijwmnTuhS3IV9TDiEuX3lb5tQPi/fs4LxJwD+p5gd1X7s rVUjubqtLljPTzRtjnV0vkDgmpl0YubtvQfCzqpARfUxSNeGb+ODAIOLAoGBANI/ LIP8AXr1dG9wM3V759P9DX1SP/zMI4igqw3C1aeDCLJ+baMS6qFq8bler9Qzl8hD 8U6BLCfSiNdYfuACd6pAIJjvYPGyJrQoWihbB7GdrrWUcOCpLgMCa4HjDUtLUyqU Q9I8EKzDhf5F0Y6IXpWlt35zFA7Br2UWtazOojyVAoGBAMb+300/4xHBWS7Eh1LM yTL0nKJ6tYTQTKr5kI81MmkKU73lOcjGdpTwo1MS7q6CosCwQs5anfuXUMeIL7Xq jy0etOmgV8LrXZfuBBnQjcKB2W9notoqF21kj/z1tgYaCYxrCP+7OMgSjWSV/fkK +DG1On82upxaIw+njt+jA3jBAoGBALVbsTaYp149ZRbLnlf1beC7JGu6C2AxZ2Vv 0p2oN0ysB1CRJlnI84QSEDlqqBlP99nUYc7qNgCT5157A9aPylGdx4Ck3OcgWaqG NF8jRtu7vPz88vGYfgwyhjIgfVM5wp+0DVzIW0nrzyWrbDya/ZvwuvvkoKSqBnYY xNYv2FqRAoGAXjAUgIfsjZcx69SwC4GkZdrq3ipoqEUxgPqZl46Nl79WAYaBmCd5 4R8sdhVY8j4+CHxmluv9f3FTqtomCkp1XtjihUtyihKl/xC6Xgk4EnPg88ZaIX70 Dok3E3dzccrCjhdhogYPhKV4vp7n3yB4fh+FutmD7GhTDFM34NlEBuA= -----END RSA PRIVATE KEY----- Certificate for example.net Jennings, et al. Expires May 27, 2010 [Page 56] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN CERTIFICATE----- MIIDxTCCAy6gAwIBAgIIAlUBOAIAAG0wDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4w DAYDVQQKEwVzaXBpdDEpMCcGA1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkwHhcNMDkwNDMwMjEzNzA2WhcNMTIwNDI5MjEzNzA2WjBbMQswCQYD VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTERMA8GA1UEBxMIU2FuIEpvc2Ux DjAMBgNVBAoTBXNpcGl0MRQwEgYDVQQDEwtleGFtcGxlLm5ldDCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAMbRhCP0KuQJqmOR2Fo/DZx6tx/PpnKhZBpu Euw8PkFpmQBm/p7MvpzicT/iEwWP48PokCRwwK9uB1tMTMXObyM2cv4q7vwqV8Bp 3afhG2GLwxuoUAl4quS3/31nnnwE2+sKORLrFDQ80lm9G6DRua4AKTXbpsNbHB49 MW6bHe6Yil7YUd5/n+OMu7EDWgyham0rrzjNdbR8gLl+Z6Up9jARWwwaWRKGxJGh Dl5kWLS5bmlOqNOnomxisttnDwzbrq5aWn5Wz3kjRqlAjgvhtEiotYLDetpILlSt m3jUYGx8OUzPUSGNYDBxrr4kz2ltidJfdtcbQkQJ/w8NKxeZWekCAwEAAaOB+DCB 9TAfBgNVHREEGDAWggNuZXSGD3NpcDpleGFtcGxlLm5ldDAJBgNVHRMEAjAAMB0G A1UdDgQWBBSxkh6t3TKqE/MN9yVjRnNfwUyUAjCBmgYDVR0jBIGSMIGPgBRrRhcU 6pR2JYBUbhNU2qHjVBShtqF0pHIwcDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh bGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMQ4wDAYDVQQKEwVzaXBpdDEpMCcG A1UECxMgU2lwaXQgVGVzdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQAwCwYDVR0P BAQDAgXgMA0GCSqGSIb3DQEBBQUAA4GBAByhC23DAxjh3PII0wvqZxMh6WbQJ+JB x2tpAywGbNvEpL7yRqJCwLoMofWsBOnWRVEHl020h9hpqjFTNWhq2XuUh45yedEI jhFBgOpGn3qWUnGLmbT6iLzCPayrvTSRWpt7NnMyAQJdfRXlZN3gl+czyKegtfki l9Lb3Ne0UpV+ -----END CERTIFICATE----- Private key for example.net Jennings, et al. Expires May 27, 2010 [Page 57] Internet-Draft SIP Secure Call Flows November 2009 -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAxtGEI/Qq5AmqY5HYWj8NnHq3H8+mcqFkGm4S7Dw+QWmZAGb+ nsy+nOJxP+ITBY/jw+iQJHDAr24HW0xMxc5vIzZy/iru/CpXwGndp+EbYYvDG6hQ CXiq5Lf/fWeefATb6wo5EusUNDzSWb0boNG5rgApNdumw1scHj0xbpsd7piKXthR 3n+f44y7sQNaDKFqbSuvOM11tHyAuX5npSn2MBFbDBpZEobEkaEOXmRYtLluaU6o 06eibGKy22cPDNuurlpaflbPeSNGqUCOC+G0SKi1gsN62kguVK2beNRgbHw5TM9R IY1gMHGuviTPaW2J0l921xtCRAn/Dw0rF5lZ6QIDAQABAoIBAHxgwCDZ9CcaoNyP deDnRzWYU410EzXtHzmlmPLusSeszwnAZROlFK4Cv0RuwuWc4alCiUIyw2g8FiAY eILapQ5LVt8Irt9UAfeegwsuOTnp/FIGFqQGOCrDrPKf6za8t3OvvorGQ6p2TkXT l0AhU961vRIzan0WN133fEAsjCohavopWJfPKVYROsdqOEeqtw1m1QW7a9p3jo/L 4jBw+xyLnlis5D2xxOjDjvRWDP/NEKAoWPBS4+VFRAnLdqOEIAqBVG0Q+SvZ6efy ViI8xhBMq2rda29rNMZkdK5cEr3X0g44YzC70zWgMuXiOIzLYxCEKw9BfhLQPOFw YOTNGYECgYEA7Orf2TDxScuESMJh+tlqXjssEbU43K+ox91NVh+U4gvmtWLUHgxC EYT/j+Fvd2FoRKfhWEoVJ9K24k+admPdDv4YIPxaUuRlSxmo8FeHhzY62Fkv8Gss sCf7SsJ+HLGZcOlkF7ed/eMn+XzvWgHR6bHqLOIQS2hhslIlm03mVjECgYEA1tUO sHSDCJ3AjLQeCU0iVn4aDMrA8HlJ4NBJqFnl2sSCZT7nxvs3YIfkTQ35hg6Zz12A 6gF9hcHk87mHDB579qVBHRauAO5czTy1CAGF6e3gzMy1oz4eaFqoV9NMZfkSuaok egBl4k73C8P9Y/o7L9v6aJZ/hrgaEX8P0j4DeTkCgYEAwNFfocp9dkvWu8jIKXqt YUfTVA4j2yhzu0ZXXNKTP23kNJfcfyAG3W9a92TIbWavj8D6W/rfQOvzwDh9RAF+ tmcCiEYZ1QDhl7+oiQMT4G24csATjh4L3sqLcIreTMgWU5j/x3W/dhRcQmb1/lEg 4IvWRPUvwc+QQ6srxDwgTOECgYBK0i9og1uzn4WVO5IOeT/RUd/uvprN5eA2HTTa Hl0wgSpM6si8g3f49bssnwZdiy5Ei3M/jL9T24DK5b3EGcXg1BNGd0So7FuD23XN UQJ7w658hXtpXFQo0hI5bEz6YvIDmd9UYlkZpZjjDyJsNJVyiLHAxVGq8OmbWF6B Qbnh+QKBgQCF4xV6Ha7dSRZoU6iPYp2t6y4JRCXf9H1kIJVrFzPv0sfysdwflbJS XAn+206ShYN6OBPt6f9As6oggw+xzKiiAxHdlhsipuUlQRIUGMIxJ1DQcXtsLp7L 8YeoLWCvYknXw/k5TT3uzrZ6I5GsqzNSzh0jsay91zp/4qrdcnr7fg== -----END RSA PRIVATE KEY----- Appendix C. Message Dumps This section contains a base64 encoded gzipped, compressed tar file of various CMS messages used in this document. Saving the data in a file foo.tgz.b64 then running a command like "openssl base64 -d -in foo.tgz.b64 | tar xfz -" would recover the CMS messages and allow them to be used as test vectors. -- BEGIN MESSAGE ARCHIVE -- H4sIANiq/UoCA+xcaUATV9cmYV/CIoriGilisQRmJjNJAEHBhEVJEAjQpFqZ JBMSyGYSBIOoRaUW14ILWkVcEVRk0brgjhuyVdzB7QUtiFvFutRafYdqK0UU v764ftw/Se7MPXMyuec8z33OnQjlGopGLpVjFLkm2lWEavU6vwF4o8Hwn690 GvKPV7xBCEDTA0GITqdCCJUK6AEgFQJpemRA7x20OI0WVZPJegK1FFW85ryO jn+kjc0KC/PxZ5E1UpVHbJxcGqscjiWgcpUMc1VgWnJY4Gg3yBUgmUVIUY+/ PrlxR4wmQwDDlU53BRkMV5BG8wARAAA9BWpUIZR46dwl/rBgFEXEoCOwjgKL 3SEUpjEAOgohGABQQArlr2OeapVSrfVCYAQASWZsNIHip1THo2qRxoNMx687 QqnQokKtB3loi4diWZxYPPFvD4VKuTfJjKt8fvRl//Gjfmql/NWjPbVotJcA hejuEIDgV0NlMkog04PMhvxkHGiklC3nxPJj+HKOPBxmR4YAnEiejiMPBIO5 khgeVxbDjwx3xYeFYeM9yCD5+c0kmfkIhZgKd1oeJ9NKVaha66aRRiswkQtZ Jennings, et al. Expires May 27, 2010 [Page 58] Internet-Draft SIP Secure Call Flows November 2009 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 Jennings, et al. Expires May 27, 2010 [Page 59] Internet-Draft SIP Secure Call Flows November 2009 i46CSKfgP4j/nM8IQFvzb00weNs6xweuQTzfohnQDiojR369a6e/uKjW5Lfd N36zuUwyI5ZmLTIXV56asRysT/4+c1eS/a8B5aSrTTdmLZul1BDWlC/ITllA 9LM+Yc7h9asffr25/KdB5MaHIr5J3K0jOUf2je12Tew+J79OVJ4knS0wmqDs pX8ksd54RbfqncftzxYX1+WkTM3s7t3Ul0HyDKoq/M9XynPU2IzCo/dZvX5n WZw/tWRR0aRpDjM2htYyajGkW1G28Jv8U5nR5y3rYrNuPhp7aYulXlaDfv1t noUb/TJv4HhRWFTzN/pboxOH+NaM2mIxb+lTwjLi1mzPHpGTizKsfUq8c6Zd r9BE3Dd6mnPAxJl7YOFuB85I98wtVk9y7Y+vXfw6DcJy/6ru1uiV4CCS2co7 Q+gn2VNHNzuv29nktoFktlRbe2ZQt4NaG1/jJzfXKafWLZx3/2tH75KwuVFx 9k7BdzaEx+sdy3QtJJlt2Oh7qGA2ewjQ90Dx5EH3F0hslg+ijI+09SnYMHe5 X96/C4QuvtoJO5Zfy1evGSzal27R749su32z+WtWS8z3R0tSqb+Lo24QAkck m9y+fmji17YD70XJoeq+rGuzfTYfIlaKllr0SHq41pSbBvZZL7maqGF6iHtt OJw5ZcrdZrv1f2y9UXr7+z9gmxlO1+sGj9XbFOc7d0vQmAECeI/F+aC0Dc21 lslryhgWsanoV253f05XPWU3Oh5XXlgpWKHo75jVPQ/LiBcsXUYkV3iPGXD2 aWNtv4bpT1bGyS9G+x1pdhLv+aXOqsjoztKMhT3G1DbQ0rXChBqDisV7nUzT M26nRF64ywwft47huCf2xrYbuX2WHbtk13i1+wl2VVpST5Ns/8t6zMMMxPua 2mrGFL+iEZPutjcvW9PVt1v5edP6T9v9H1QaDHXxv0+F/4FCukgEAygiFoth mEZ9Bf+D3hf/Q1AQwC+PteJ/PG4sNZgZGM+B/KQ8bng8258v53HZIJs5UsrW 8aBgpnAiT8eC2f5d9Z//D/Wf13AvRcCqBGMPf9N9kcoyQq5lg7dLn4R5seYH Tjbv9pnrXbawAlnmypvVeBXhKS0fexavcRWTJAqWwbFRV533YHdCVtYPn7Zw 0rz8nIgq+OTFg8I9TuH9IkPqUmYPSSqg2259OGf70DvTQYvIQsf66vsLxq6a 6sraRlsku716/mdzlxeNJpkpaxv8uU2Urxlx8WWGt1jjfyxemL6ZB+4qsn7w RL1jhkPI1HWT71/N9INcUotvRh29n0jJrBqXeW6gxGSPXsjg7D7csCrWkC9R 4VD7uJRogxLDeHm8vecaO4jRd6Jh4nibxAjHOMfYB3HHU2vytnuksEGSWZ/q qTNFobY1T9Iv5JZeri57HflqvAIL8yQP9gsOZSYqBzlsnjraJ+jJozVbVL0F Kbv2X5y/QJpEMqu2ustJUqrddNmjtozkle4ru7sp7TQoXmBZFEgQntrJz3O+ WZr6bZPe41GLBdyI72sTRv+4adv2sfdtfIbuI1/oqgD9D+3vyg8lXoJqKdFK LeVZqupEJtDR8z8gAL+k/0Bd+s87aZ2h1XdF0ScQ/2/t6Z83qf9CbZ//ganU rvj/ZPRfmhjBUzqNJqaidDHyqv3fwPvi/xhDKAQFiLB1/TcmIoYXw4nh6EJ0 HC5fxtOJYtiR+DoAaukXxgdzI2LYUGgs/0PY/9WR/osKqaAYRSAUDzKACog7 t/7b1nrn1X87stylp717Pa3rPwDam5kfbwH47VZ+37D+S6O/9PwX0PX81yeD /0JIRKeKaTQEAxE6A37V/m/qe9P/MFgkoiL/+P8fZgjE94+I5UeGwDzdSAmf y5fwmaE4H2ABbObIWI4uFuT4ByZwuCEfPv5jgJAmoFOFmEgIw+40eifXf9ua 76r/vnMNMvVA82f5J20srzOiPPyXdKcmEHr/1i1zcfopSeF2TtWEHrcraJZr t9PG/ccwgfXAsJs8nGS2cnRQzoP6Ain2kLH+gdtKrVUPpfOPY7QDAwfGG1/B IzGHCPRguc3LM3ENPFcYr2n0MeFQ8vNvuQVuizujuhz1eHVpIONo0cTxfhkl Pck5tg236pfk1g0oKdEVqYbX3B1uLl1y/voY65yn68XHI4p37JheJtcftqhc zk+bpfdZ2awnv++1d5pSKi1Pz+BfuXgi/6LC0nlZo+GZYK+sBwcK51o+Narx M7/pOX3vzJ7LhteEYoKc4nu6huMJ0uXoqYCwCJJZ8YW7SIkBad9uJ5/9VzLt V416nQiZWWJD3X/P1/TorOpSLpTgN3X0d1/VTY+6yvpCW44Gr7qiTz9xeFro 6qrSxiNzNt+luUfsnZdU/xAboUCxGV8JNu71uLDkyKxtO7OHLUaHFtRdZu3q OSJE/1ef2eENxHHlefeIsWf/XRx00dW3TVedS9KXjz+UHjp1lNUh8ZGKXm7s LOP/OFf+5lqZZleRVMDiyw/w54eUkMWPJ/xy6UTeoUr2paOkM98WSW9+s3N8 05Z99fdWrznmSlvtTE+hl/w4P7spZnDo4WUbClwSo6ydrlFHTNtplC8xdJq5 StKbczXZ7qsrekm9TEfamlK23lm3zz3KmQg5Op+mhwf51iRdy3h4+EkjoW/E rE211YUHyVnlabt/WGFZmjlmL6em37krxPM1ket4N76r2CQ+sVo387dVNacy fw/elHROKkEKMqxFvv28HP/bvh3iIAgAABQ9Ac0TUDQ4A1YO4EzOQiWSZQYG m1mbxea8gMETaAAPoJvdZNJOdHYu4PbeGX79yfUyqU+veBv354P7eXgsimjU 7KtNnmfv9BkGs9VivFu3h/Jzmy7LR6+ryz8/FgEAAAAAAAAAAPj5Asq+2KcA Jennings, et al. Expires May 27, 2010 [Page 60] Internet-Draft SIP Secure Call Flows November 2009 eAAA -- END MESSAGE ARCHIVE -- Authors' Addresses Cullen Jennings Cisco Systems 170 West Tasman Drive Mailstop SJC-21/2 San Jose, CA 95134 USA Phone: +1 408 421 9990 Email: fluffy@cisco.com Kumiko Ono Columbia University Email: kumiko@cs.columbia.edu Robert Sparks Tekelec 17210 Campbell Road Suite 250 Dallas, TX 75252 USA Email: rjsparks@estacado.net Brian Hibbard (editor) Tekelec 17210 Campbell Road Suite 250 Dallas, TX 75252 USA Email: brian@estacado.net Jennings, et al. Expires May 27, 2010 [Page 61]