Using nuget.exe via mono on Mac OS X Yosemite (10.10.3) appears to produce an HTTP PUT request that is missing a carriage-return (CR) just before the final multipart boundary.
mono installed via brew
mono: stable 4.0.1.44 (bottled)
nuget.exe version
NuGet Version: 2.8.60318.667
the following push command
mono nuget.exe push SimplePackage.1.0.0.nupkg -source nuget-hosted
Produces the following multipart content which was captured via Charles
PUT /repository/nuget-hosted/ HTTP/1.0
User-Agent: NuGet Command Line/2.8.60318.667 (Unix 14.3.0.0)
X-NuGet-ApiKey: 79982994-af3c-3bb8-a74f-17e1df492a89
Content-Type: multipart/form-data; boundary=---------------------------8d273112e43fb92
Content-Length: 2371
Host: 127.0.0.1:8081
00000000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00000010 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 38 64 32 -------------8d2
00000020 37 33 31 31 32 65 34 33 66 62 39 32 0d 0a 43 6f 73112e43fb92 Co
00000030 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69 74 69 6f ntent-Dispositio
00000040 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b 20 6e 61 n: form-data; na
00000050 6d 65 3d 22 70 61 63 6b 61 67 65 22 3b 20 66 69 me="package"; fi
00000060 6c 65 6e 61 6d 65 3d 22 70 61 63 6b 61 67 65 22 lename="package"
00000070 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 Content-Type:
00000080 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6f 63 74 65 application/octe
00000090 74 2d 73 74 72 65 61 6d 0d 0a 0d 0a 50 4b 03 04 t-stream PK
000000a0 14 00 00 00 00 00 ee 40 19 50 33 29 50 0a a6 01 # P3)P
000000b0 00 00 a6 01 00 00 0b 00 00 00 5f 72 65 6c 73 2f _rels/
000000c0 2e 72 65 6c 73 ef bb bf 3c 3f 78 6d 6c 20 76 65 .rels <?xml ve
000000d0 72 73 69 6f 6e 3d 22 31 2e 30 22 3f 3e 3c 52 65 rsion="1.0"?><Re
000000e0 6c 61 74 69 6f 6e 73 68 69 70 73 20 78 6d 6c 6e lationships xmln
000000f0 73 3d 22 68 74 74 70 3a 2f 2f 73 63 68 65 6d 61 s="http://schema
00000100 73 2e 6f 70 65 6e 78 6d 6c 66 6f 72 6d 61 74 73 s.openxmlformats
00000110 2e 6f 72 67 2f 70 61 63 6b 61 67 65 2f 32 30 30 .org/package/200
00000120 36 2f 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 22 6/relationships"
00000130 3e 3c 52 65 6c 61 74 69 6f 6e 73 68 69 70 20 49 ><Relationship I
00000140 64 3d 22 52 65 30 22 20 54 61 72 67 65 74 3d 22 d="Re0" Target="
00000150 2f 53 69 6d 70 6c 65 50 61 63 6b 61 67 65 2e 6e /SimplePackage.n
00000160 75 73 70 65 63 22 20 54 79 70 65 3d 22 68 74 74 uspec" Type="htt
00000170 70 3a 2f 2f 73 63 68 65 6d 61 73 2e 6d 69 63 72 p://schemas.micr
00000180 6f 73 6f 66 74 2e 63 6f 6d 2f 70 61 63 6b 61 67 osoft.com/packag
00000190 69 6e 67 2f 32 30 31 30 2f 30 37 2f 6d 61 6e 69 ing/2010/07/mani
000001a0 66 65 73 74 22 20 2f 3e 3c 52 65 6c 61 74 69 6f fest" /><Relatio
000001b0 6e 73 68 69 70 20 49 64 3d 22 52 65 31 22 20 54 nship Id="Re1" T
000001c0 61 72 67 65 74 3d 22 2f 70 61 63 6b 61 67 65 2f arget="/package/
000001d0 73 65 72 76 69 63 65 73 2f 6d 65 74 61 64 61 74 services/metadat
000001e0 61 2f 63 6f 72 65 2d 70 72 6f 70 65 72 74 69 65 a/core-propertie
000001f0 73 2f 31 2e 70 73 6d 64 63 70 22 20 54 79 70 65 s/1.psmdcp" Type
00000200 3d 22 68 74 74 70 3a 2f 2f 73 63 68 65 6d 61 73 ="http://schemas
00000210 2e 6f 70 65 6e 78 6d 6c 66 6f 72 6d 61 74 73 2e .openxmlformats.
00000220 6f 72 67 2f 70 61 63 6b 61 67 65 2f 32 30 30 36 org/package/2006
00000230 2f 72 65 6c 61 74 69 6f 6e 73 68 69 70 73 2f 6d /relationships/m
00000240 65 74 61 64 61 74 61 2f 63 6f 72 65 2d 70 72 6f etadata/core-pro
00000250 70 65 72 74 69 65 73 22 20 2f 3e 3c 2f 52 65 6c perties" /></Rel
00000260 61 74 69 6f 6e 73 68 69 70 73 3e 50 4b 03 04 14 ationships>PK
00000270 00 02 00 08 00 1e 43 19 50 3a 26 b1 df a6 01 00 C P:&
00000280 00 53 03 00 00 14 00 00 00 53 69 6d 70 6c 65 50 S SimpleP
00000290 61 63 6b 61 67 65 2e 6e 75 73 70 65 63 85 53 c1 ackage.nuspec S
000002a0 4e e3 30 14 bc f3 15 56 ee c4 2d d2 4a 08 b9 46 N 0 V - J F
000002b0 ab 62 89 ae a2 16 35 e5 1c 19 fb 35 31 c4 76 b0 b 5 51 v
000002c0 9d 5d fa 6d 7b d8 4f da 5f 58 07 27 10 90 56 5c ] m{ O _X ' V\
000002d0 a2 bc 99 79 e3 e7 97 c9 df df 7f c8 f5 8b 6e d1 y n
000002e0 4f 70 5e 59 b3 ca 96 f9 22 43 60 84 95 ca d4 ab Op^Y "C`
000002f0 ac 0f c7 f3 cb ec 9a 9e 91 8e 8b 27 5e 03 8a 6a '^ j
00000300 e3 57 59 13 42 77 85 b1 17 0d 68 ee 73 ad 84 b3 WY Bw h s
00000310 de 1e 43 2e ac c6 49 1b 0d f0 c5 62 b9 c4 8b 4b C. I b K
00000320 6c 7a df 81 c8 5f bc cc e8 19 42 44 43 e0 92 07 lz _ BDC
00000330 3e 14 b1 54 92 96 4a 77 2d dc a5 53 08 8e 48 a2 > T Jw- S H
00000340 c6 c9 68 1c 2c 5f 10 3c 95 89 e4 7d 68 ac f3 f4 h ,_ < }h
00000350 c1 71 f9 00 e2 89 e0 09 49 bc fd 65 e0 03 3d 02 q I e =
00000360 89 6d 95 00 e3 e1 de b5 74 bc 4e b1 59 b3 6d c9 m t N Y m
00000370 aa fb 7d 51 dd b2 3d ab 76 fb ea 86 15 ec c0 aa }Q = v
00000380 c3 ed a6 ac 8a cd 96 11 3c eb 4b 46 9d b3 8f 20 < KF
00000390 c2 cc e8 6e bf fb c1 d6 87 2f 8c 66 7d e3 1e 84 n / f}
000003a0 35 33 97 cd 7a b7 fd c2 62 ea 48 fd 0e 9e 7b e5 53 z b H {
000003b0 a0 48 03 7e 17 02 ba c0 8d 00 7a e4 ad 8f 5b fd H ~ z [
000003c0 2f 9f da 25 78 e1 54 17 86 05 8f 5f 02 cd 30 82 / %x T _ 0
000003d0 e7 82 e9 c4 16 b8 87 ad 0d e0 69 d9 6b cd dd 09 i k
000003e0 d9 23 12 0d 37 35 78 a4 b9 04 a4 0c 0a 8d f2 68 # 75x h
000003f0 14 0f 7c 68 00 8d 91 ca 87 b9 66 2e c9 58 d8 ee |h f. X
00000400 e4 54 dd 04 ba 9e de 50 4c d3 37 82 df 99 a4 0c T PL 7
00000410 bc f6 f4 c0 eb 25 8a 8f 0b 82 5f eb e9 42 1d 18 % _ B
00000420 19 e3 ac 26 df 39 78 42 4a ae b2 92 0f c1 bb 79 & 9xBJ y
00000430 03 b3 4f 3f 03 1e bd f0 67 33 82 df 53 4c c6 cc O? g3 SL
00000440 03 fd 07 50 4b 03 04 14 00 00 00 00 00 b2 45 19 PK E
00000450 50 a1 9f 60 dd 5f 02 00 00 5f 02 00 00 32 00 00 P ` _ _ 2
00000460 00 70 61 63 6b 61 67 65 2f 73 65 72 76 69 63 65 package/service
00000470 73 2f 6d 65 74 61 64 61 74 61 2f 63 6f 72 65 2d s/metadata/core-
00000480 70 72 6f 70 65 72 74 69 65 73 2f 31 2e 70 73 6d properties/1.psm
00000490 64 63 70 ef bb bf 3c 3f 78 6d 6c 20 76 65 72 73 dcp <?xml vers
000004a0 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 ion="1.0" encodi
000004b0 6e 67 3d 22 55 54 46 2d 38 22 3f 3e 3c 63 6f 72 ng="UTF-8"?><cor
000004c0 65 50 72 6f 70 65 72 74 69 65 73 20 78 6d 6c 6e eProperties xmln
000004d0 73 3a 64 63 3d 22 68 74 74 70 3a 2f 2f 70 75 72 s:dc="http://pur
000004e0 6c 2e 6f 72 67 2f 64 63 2f 65 6c 65 6d 65 6e 74 l.org/dc/element
000004f0 73 2f 31 2e 31 2f 22 20 78 6d 6c 6e 73 3a 64 63 s/1.1/" xmlns:dc
00000500 74 65 72 6d 73 3d 22 68 74 74 70 3a 2f 2f 70 75 terms="http://pu
00000510 72 6c 2e 6f 72 67 2f 64 63 2f 74 65 72 6d 73 2f rl.org/dc/terms/
00000520 22 20 78 6d 6c 6e 73 3a 78 73 69 3d 22 68 74 74 " xmlns:xsi="htt
00000530 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 32 p://www.w3.org/2
00000540 30 30 31 2f 58 4d 4c 53 63 68 65 6d 61 2d 69 6e 001/XMLSchema-in
00000550 73 74 61 6e 63 65 22 20 78 6d 6c 6e 73 3d 22 68 stance" xmlns="h
00000560 74 74 70 3a 2f 2f 73 63 68 65 6d 61 73 2e 6f 70 ttp://schemas.op
00000570 65 6e 78 6d 6c 66 6f 72 6d 61 74 73 2e 6f 72 67 enxmlformats.org
00000580 2f 70 61 63 6b 61 67 65 2f 32 30 30 36 2f 6d 65 /package/2006/me
00000590 74 61 64 61 74 61 2f 63 6f 72 65 2d 70 72 6f 70 tadata/core-prop
000005a0 65 72 74 69 65 73 22 3e 3c 64 63 3a 63 72 65 61 erties"><dc:crea
000005b0 74 6f 72 3e 62 72 61 64 62 65 63 6b 3c 2f 64 63 tor>bradbeck</dc
000005c0 3a 63 72 65 61 74 6f 72 3e 3c 64 63 3a 64 65 73 :creator><dc:des
000005d0 63 72 69 70 74 69 6f 6e 3e 50 61 63 6b 61 67 65 cription>Package
000005e0 20 64 65 73 63 72 69 70 74 69 6f 6e 3c 2f 64 63 description</dc
000005f0 3a 64 65 73 63 72 69 70 74 69 6f 6e 3e 3c 64 63 :description><dc
00000600 3a 69 64 65 6e 74 69 66 69 65 72 3e 53 69 6d 70 :identifier>Simp
00000610 6c 65 50 61 63 6b 61 67 65 3c 2f 64 63 3a 69 64 lePackage</dc:id
00000620 65 6e 74 69 66 69 65 72 3e 3c 6b 65 79 77 6f 72 entifier><keywor
00000630 64 73 3e 54 61 67 31 20 54 61 67 32 3c 2f 6b 65 ds>Tag1 Tag2</ke
00000640 79 77 6f 72 64 73 3e 3c 6c 61 73 74 4d 6f 64 69 ywords><lastModi
00000650 66 69 65 64 42 79 3e 4e 75 47 65 74 2c 20 56 65 fiedBy>NuGet, Ve
00000660 72 73 69 6f 6e 3d 32 2e 38 2e 36 30 33 31 38 2e rsion=2.8.60318.
00000670 36 36 37 2c 20 43 75 6c 74 75 72 65 3d 6e 65 75 667, Culture=neu
00000680 74 72 61 6c 2c 20 50 75 62 6c 69 63 4b 65 79 54 tral, PublicKeyT
00000690 6f 6b 65 6e 3d 6e 75 6c 6c 3b 55 6e 69 78 20 31 oken=null;Unix 1
000006a0 34 2e 33 2e 30 2e 30 3b 2e 4e 45 54 20 46 72 61 4.3.0.0;.NET Fra
000006b0 6d 65 77 6f 72 6b 20 34 3c 2f 6c 61 73 74 4d 6f mework 4</lastMo
000006c0 64 69 66 69 65 64 42 79 3e 3c 76 65 72 73 69 6f difiedBy><versio
000006d0 6e 3e 31 2e 30 2e 30 3c 2f 76 65 72 73 69 6f 6e n>1.0.0</version
000006e0 3e 3c 2f 63 6f 72 65 50 72 6f 70 65 72 74 69 65 ></corePropertie
000006f0 73 3e 50 4b 03 04 14 00 02 00 08 00 fc 46 19 50 s>PK F P
00000700 c1 13 c7 c6 bf 00 00 00 74 01 00 00 13 00 00 00 t
00000710 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 5d 2e [Content_Types].
00000720 78 6d 6c 8d 90 3d 0e c2 30 0c 85 af 12 65 45 6d xml = 0 eEm
00000730 0a 03 03 ea cf 00 dc 80 0b 44 c1 d0 88 36 b1 62 D 6 b
00000740 b7 2a 67 63 e0 48 5c 81 d0 b2 00 12 ea 68 bf e7 *gc H\ h
00000750 ef 3d f9 71 bb e7 d5 d0 36 a2 87 40 d6 bb 42 2e = q 6 # B.
00000760 d3 4c 56 65 7e b8 22 90 88 8a a3 42 d6 cc b8 51 LVe~ " B Q
00000770 8a 4c 0d ad a6 d4 23 b8 a8 9c 7c 68 35 c7 31 9c L # |h5 1
00000780 15 6a 73 d1 67 50 ab 2c 5b 2b e3 1d 83 e3 84 5f js gP ,[+ _
00000790 0c 59 e6 3b 38 e9 ae 61 b1 9d f6 2f 74 21 35 62 Y ;8 a /t!5b
000007a0 63 8d e6 18 aa 7a 77 fc 82 26 6f 60 1a a0 19 3d c zw &o` =
000007b0 54 5b a4 45 34 48 b1 1f 22 65 2a 1b 55 92 42 cd T[ E4H "e* U B
000007c0 88 f0 86 81 3f 6e 5d 47 08 66 de f5 9f 82 c6 07 ?n]G f
000007d0 48 30 44 35 b0 85 df 8a 48 ed d1 e0 18 a3 c6 a7 H0D5 H
000007e0 96 4f 50 4b 01 02 00 00 14 00 00 00 00 00 ee 40 OPK #
000007f0 19 50 33 29 50 0a a6 01 00 00 a6 01 00 00 0b 00 P3)P
00000800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000810 5f 72 65 6c 73 2f 2e 72 65 6c 73 50 4b 01 02 00 _rels/.relsPK
00000820 00 14 00 02 00 08 00 1e 43 19 50 3a 26 b1 df a6 C P:&
00000830 01 00 00 53 03 00 00 14 00 00 00 00 00 00 00 01 S
00000840 00 00 00 00 00 cf 01 00 00 53 69 6d 70 6c 65 50 SimpleP
00000850 61 63 6b 61 67 65 2e 6e 75 73 70 65 63 50 4b 01 ackage.nuspecPK
00000860 02 00 00 14 00 00 00 00 00 b2 45 19 50 a1 9f 60 E P `
00000870 dd 5f 02 00 00 5f 02 00 00 32 00 00 00 00 00 00 _ _ 2
00000880 00 01 00 00 00 00 00 a7 03 00 00 70 61 63 6b 61 packa
00000890 67 65 2f 73 65 72 76 69 63 65 73 2f 6d 65 74 61 ge/services/meta
000008a0 64 61 74 61 2f 63 6f 72 65 2d 70 72 6f 70 65 72 data/core-proper
000008b0 74 69 65 73 2f 31 2e 70 73 6d 64 63 70 50 4b 01 ties/1.psmdcpPK
000008c0 02 00 00 14 00 02 00 08 00 fc 46 19 50 c1 13 c7 F P
000008d0 c6 bf 00 00 00 74 01 00 00 13 00 00 00 00 00 00 t
000008e0 00 01 00 00 00 00 00 56 06 00 00 5b 43 6f 6e 74 V [Cont
000008f0 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c 50 4b ent_Types].xmlPK
00000900 05 06 00 00 00 00 04 00 04 00 1c 01 00 00 46 07 F
00000910 00 00 00 00 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -----------
00000920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
00000930 2d 2d 38 64 32 37 33 31 31 32 65 34 33 66 62 39 --8d273112e43fb9
00000940 32 2d 2d 2--
In the row 00000910, I believe the multipart content-type specification (http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html) requires a carriage-return (Ox0d) and a line-feed (0x0a) prior to the final boundary which, in this case, starts with - (0x2d). But this row contains 00 0a 2d, which is missing the CR (0d).
The current implementation of MultipartWebRequest::CreateMultipartRequest doesn't appear to ensure that there is a CRLF before the closing boundary. It uses Environment.NewLine, which on Unix via mono, I believe will be just LF and not CRLF as on Windows.
Related
I am trying to connect an openssl client to a server. I'm using the following command:
openssl s_client -cipher "AES256" -connect 15.213.94.8:6433 -msg
The Output is:
CONNECTED(00000003)
>>> TLS 1.2 Handshake [length 00ce], ClientHello
01 00 00 ca 03 03 f1 77 45 36 0d 10 84 27 a3 11
04 81 07 78 84 39 46 a2 de 44 53 8b b9 01 fd 57
14 d9 fe 67 61 ab 00 00 34 c0 30 c0 2c c0 28 c0
24 c0 14 c0 0a 00 a3 00 9f 00 6b 00 6a 00 39 00
38 c0 19 00 a7 00 6d 00 3a c0 32 c0 2e c0 2a c0
26 c0 0f c0 05 00 9d 00 3d 00 35 00 ff 01 00 00
6d 00 0b 00 04 03 00 01 02 00 0a 00 34 00 32 00
0e 00 0d 00 19 00 0b 00 0c 00 18 00 09 00 0a 00
16 00 17 00 08 00 06 00 07 00 14 00 15 00 04 00
05 00 12 00 13 00 01 00 02 00 03 00 0f 00 10 00
11 00 23 00 00 00 0d 00 20 00 1e 06 01 06 02 06
03 05 01 05 02 05 03 04 01 04 02 04 03 03 01 03
02 03 03 02 01 02 02 02 03 00 0f 00 01 01
<<< TLS 1.2 Handshake [length 0051], ServerHello
02 00 00 4d 03 03 5a ce f7 9f 32 15 3b 2b 7e 75
8d 02 6f ff e9 d1 44 e4 6f 05 cd 1c ec 70 0c 7c
d2 05 d2 b5 27 f5 20 6a 45 e2 43 62 20 e9 48 0e
aa fc 7e 2e c4 5b c6 0a 6d dd 7d b6 71 7d 05 a0
4c 60 09 61 1d 24 69 00 6b 00 00 05 ff 01 00 01
00
<<< TLS 1.2 Handshake [length 033f], Certificate
0b 00 03 3b 00 03 38 00 03 35 30 82 03 31 30 82
02 9a a0 03 02 01 02 02 04 5a cc 5e 97 30 0d 06
09 2a 86 48 86 f7 0d 01 01 05 05 00 30 81 dc 31
10 30 0e 06 03 55 04 0a 13 07 6e 73 73 74 73 31
34 31 34 30 32 06 03 55 04 0b 13 2b 47 65 6e 65
72 61 74 65 64 20 54 75 65 20 41 70 72 20 31 30
20 31 32 3a 31 39 3a 35 36 20 55 54 43 2b 2d 35
3a 2d 20 32 30 31 38 31 23 30 21 06 03 55 04 0b
13 1a 4e 6f 20 41 73 73 75 72 61 6e 63 65 20 2d
20 53 65 6c 66 2d 53 69 67 6e 65 64 31 3c 30 3a
06 03 55 04 0b 13 33 54 65 73 74 69 6e 67 20 4f
6e 6c 79 20 2d 20 44 6f 20 4e 6f 74 20 54 72 75
73 74 20 66 6f 72 20 53 65 63 75 72 65 20 54 72
61 6e 73 61 63 74 69 6f 6e 73 31 2f 30 2d 06 03
55 04 03 13 26 53 65 63 75 72 65 20 54 72 61 6e
73 70 6f 72 74 20 42 6f 6f 74 73 74 72 61 70 20
43 65 72 74 69 66 69 63 61 74 65 30 1e 17 0d 31
38 30 34 31 30 30 36 34 39 35 39 5a 17 0d 31 38
30 37 30 39 30 36 34 39 35 39 5a 30 81 dc 31 10
30 0e 06 03 55 04 0a 13 07 6e 73 73 74 73 31 34
31 34 30 32 06 03 55 04 0b 13 2b 47 65 6e 65 72
61 74 65 64 20 54 75 65 20 41 70 72 20 31 30 20
31 32 3a 31 39 3a 35 36 20 55 54 43 2b 2d 35 3a
2d 20 32 30 31 38 31 23 30 21 06 03 55 04 0b 13
1a 4e 6f 20 41 73 73 75 72 61 6e 63 65 20 2d 20
53 65 6c 66 2d 53 69 67 6e 65 64 31 3c 30 3a 06
03 55 04 0b 13 33 54 65 73 74 69 6e 67 20 4f 6e
6c 79 20 2d 20 44 6f 20 4e 6f 74 20 54 72 75 73
74 20 66 6f 72 20 53 65 63 75 72 65 20 54 72 61
6e 73 61 63 74 69 6f 6e 73 31 2f 30 2d 06 03 55
04 03 13 26 53 65 63 75 72 65 20 54 72 61 6e 73
70 6f 72 74 20 42 6f 6f 74 73 74 72 61 70 20 43
65 72 74 69 66 69 63 61 74 65 30 81 9f 30 0d 06
09 2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00
30 81 89 02 81 81 00 a0 80 77 3c 87 c4 f2 a0 23
ea 3c c2 03 90 e5 1f 07 2b da e0 3a 54 4f 54 b1
1b 99 07 e3 31 e8 fc ea c0 2c 1b 3b b1 2c b2 81
dc 52 4f 01 6c 86 72 26 e9 2f e5 51 e9 88 5f c5
da 74 1e 9c b2 f1 29 ce b2 b9 b3 af 1a 64 ce 47
df 5b 6b 0c b1 ad 2d 05 9e bf 97 42 a9 26 e9 92
f7 6c 15 23 bd fa 94 2f e6 54 2e 27 d3 dd ef 92
7e 3a 21 55 98 db 65 63 6c 3f ca a1 3b d7 e6 5e
09 77 0d 40 dc ad 5f 02 03 01 00 01 30 0d 06 09
2a 86 48 86 f7 0d 01 01 05 05 00 03 81 81 00 6e
18 05 ad 39 bc 64 47 b6 50 56 c2 6e da 4a db a4
f9 10 9a 86 63 4f 99 b5 36 93 7b 7a 59 78 b2 21
d7 50 a1 18 cc 08 81 a4 13 8e ce d5 03 13 0b 53
97 76 80 6b b2 3f e2 15 ad ca b4 ac fa 49 a5 70
e2 d8 5a 3e 43 eb 3d 28 7e 27 47 a7 df 27 e2 5a
29 1a 6a ba ef 32 56 fe 0f f5 00 dc fe 6c af fb
df c7 fe 0c b2 93 d9 99 6e 03 ae f7 9b cc 43 6f
7c 85 d8 65 11 96 fc a1 4b ee 25 d4 e6 0a 8c
depth=0 O = nssts99, OU = "Generated Tue Apr 10 12:19:56 UTC+-5:- 2018", OU = No Assurance - Self-Signed, OU = Testing Only - Do Not Trust for Secure Transactions, CN = Secure Transport Bootstrap Certificate
verify error:num=18:self signed certificate
verify return:1
depth=0 O = nssts99, OU = "Generated Tue Apr 10 12:19:56 UTC+-5:- 2018", OU = No Assurance - Self-Signed, OU = Testing Only - Do Not Trust for Secure Transactions, CN = Secure Transport Bootstrap Certificate
verify return:1
<<< TLS 1.2 Handshake [length 020e], ServerKeyExchange
0c 00 02 0a 00 80 84 cd 7a 4d c7 91 c6 75 30 c3
05 c9 d9 04 d4 4c 20 a5 52 e2 52 0e f1 7d 0c 3c
6a 98 75 91 ac 51 17 a5 45 1a 58 90 8e af 2b ac
29 f9 bd 39 33 a1 bd b2 cc 91 5b d6 49 19 98 fa
d4 b7 e7 7e 58 35 6c 83 fc 4b 63 e6 e9 96 aa 83
2b 44 f4 be fa dc c0 31 fa 61 58 49 bf 2f bc f5
82 b0 ab 8f b2 1d b4 87 a2 6e 3b e6 15 ef 5b fc
77 29 88 a7 5f fa 0d 9f 91 9e 25 33 21 c4 fa d6
5a 2b e9 dc 1f 17 00 80 42 93 80 8f 55 ab e4 1b
71 a2 d2 ec 93 5b 37 c5 71 36 cc 4f ab 06 d8 8f
63 48 23 2f f3 d6 34 e0 d5 f7 7a e6 f8 2e 0b 94
12 0b 4f d7 62 1c 9d 33 83 c5 cd 7c b0 c8 24 76
19 be a5 50 12 c7 77 e6 a8 85 53 18 36 e4 4d 4b
27 0b 0a 73 4a b6 33 8b 47 9c 94 d3 be b2 02 35
72 b0 15 62 26 b6 04 8e 73 2e eb e4 39 ea 14 8f
cd f8 28 16 74 20 02 30 cc 26 5f 16 c7 f2 92 7f
6d e0 cd 31 aa 60 93 d6 00 80 84 af 04 c2 f5 45
6c c6 a0 87 89 cd b3 dd 68 79 fe 4f ba c5 e2 db
0e 32 12 36 14 e9 e6 a3 ca 3f 87 bf 6a 89 32 f3
68 14 50 b1 b0 50 3f 3a ee 79 72 53 c7 3c 2c 5b
86 0e 2d e6 c3 15 d4 03 8a 6b 1f 03 05 89 88 9a
0a d9 ea 4c 3c 7a c7 8f af 40 b2 c8 a3 fe b2 db
43 e7 0e b3 4b b9 43 03 f6 97 46 33 57 ec fe 64
de f2 3b 60 b8 09 7e 5d 02 b0 51 21 4e 05 22 08
f6 ee 0d 27 2e 47 89 6a 9f e5 06 01 00 80 53 af
c7 d1 d3 63 d3 19 5f 3e a6 10 47 4c c5 dc 36 f8
7e 4d d0 a3 ce 1b 42 a8 cc 54 01 ac fc 95 85 3e
75 11 6d 2f 9a a0 67 65 e9 3e f2 f6 c2 00 91 4b
48 9d 8c 83 4b d7 a7 37 83 29 10 5d 2d f5 d8 4e
28 23 8e 7a e8 b6 23 75 3b 57 8d 3a 69 62 8a db
69 86 a4 79 5e 2c d0 0a e6 41 7c b4 38 a4 11 6e
f1 10 93 06 ae 23 3c 32 8f 9d 7b 19 25 44 1c cb
91 ea c5 89 a6 58 c8 bf c8 f0 ee 94 cd ce
<<< TLS 1.2 Handshake [length 0004], ServerHelloDone
0e 00 00 00
>>> TLS 1.2 Handshake [length 0086], ClientKeyExchange
10 00 00 82 00 80 10 95 d8 9b 00 89 95 f2 b6 2e
a5 98 00 88 fa 1b 42 5c ac 75 33 42 1c 0f 32 e7
d6 c7 95 81 07 e0 23 e5 bf d2 99 4a f6 16 81 31
95 64 59 c0 2f b8 52 08 16 e2 45 08 0a df 65 25
b5 5d 2d 7e e6 bb 46 d3 29 a5 74 1a d9 d1 99 57
c0 ea af d4 2f 22 14 5b 8a fa f6 b9 32 15 fe 32
2b b7 a1 82 b8 08 b6 9b 3d e2 7b 33 71 89 f2 48
7e 4d 82 24 e4 14 96 86 d5 db 0c c1 55 03 6a ff
bc 16 58 f1 b6 bc
>>> TLS 1.2 ChangeCipherSpec [length 0001]
01
>>> TLS 1.2 Handshake [length 0010], Finished
14 00 00 0c 52 16 05 75 ee db 9a 44 dc cc 6c bf
<<< TLS 1.2 ChangeCipherSpec [length 0001]
01
<<< TLS 1.2 Handshake [length 0010], Finished
14 00 00 0c 70 6b 32 0a 7e d5 ae 05 64 8b 88 ac---
Certificate chain
0 s:/O=nssts99/OU=Generated Tue Apr 10 12:19:56 UTC+-5:-2018/OU=No Assurance
Self-Signed/OU=Testing Only - Do Not Trust for Secure Transactions/CN=Secure
i:/O=nssts99/OU=Generated Tue Apr 10 12:19:56 UTC+-5:- 2018/OU=No Assurance
Self-Signed/OU=Testing Only - Do Not Trust for Secure Transactions/CN=Secure
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDMTCCApqgAwIBAgIEWsxelzANBgkqhkiG9w0BAQUFADCB3DEQMA4GA1UEChMH
bnNzdHMxNDE0MDIGA1UECxMrR2VuZXJhdGVkIFR1ZSBBcHIgMTAgMTI6MTk6NTYg
VVRDKy01Oi0gMjAxODEjMCEGA1UECxMaTm8gQXNzdXJhbmNlIC0gU2VsZi1TaWdu
bmNlIC0gU2VsZi1TaWduZWQxPDA6BgNVBAsTM1Rlc3RpbmcgT25seSAtIERvIE5v
dCBUcnVzdCBmb3IgU2VjdXJlIFRyYW5zYWN0aW9uczEvMC0GA1UEAxMmU2VjdXJl
l0KpJumS92wVI736lC/mVC4n093vkn46IVWY22VjbD/KoTvX5l4Jdw1A3K1fAgMB
AAEwDQYJKoZIhvcNAQEFBQADgYEAbhgFrTm8ZEe2UFbCbtpK26T5EJqGY0+ZtTaT
e3pZeLIh11ChGMwIgaQTjs7VAxMLU5d2gGuyP+IVrcq0rPpJpXDi2Fo+Q+s9KH4n
R6ffJ+JaKRpquu8yVv4P9QDc/myv+9/H/gyyk9mZbgOu95vMQ298hdhlEZb8oUvu
JdTmCow=
-----END CERTIFICATE-----
subject=/O=nssts14/OU=Generated Tue Apr 10 12:19:56 UTC+-5:- 2018/OU=No
Assurance - Self-Signed/OU=Testing Only - Do Not Trust for Secure Transactions/CN=Secure
issuer=/O=nssts14/OU=Generated Tue Apr 10 12:19:56 UTC+-5:- 2018/OU=No Assurance - Self-Signed/OU=Testing Only - Do Not Trust for Secure Transactions/CN=Secure
No client certificate CA names sent
SSL handshake has read 1569 bytes and written 441 bytes
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA256
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : DHE-RSA-AES256-SHA256
Session-ID: 6A45E2436220E9480EAAFC7E2EC45BC60A6DDD7DB6717D05A04C6009611D2469
Session-ID-ctx:
Master-Key:
3DDDE131C8480BC508F529263A14648AE2F6DFE9D3687AB6A9E5803D77E9FFF7
3C81B2BB836E1FAB4987EE67D0B238A0
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1523513247
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
-------------------------------------------------
Above,it says Renegotiation Is Supported. Now when I give R as input for "Renegotiation" I get the following output:
R
RENEGOTIATING
>>> TLS 1.2 Handshake [length 00dd], ClientHello
01 00 00 d9 03 03 5b 61 2b 1f e8 81 a3 04 04 3b
d1 d0 b5 f6 11 6f 2c 73 72 ac 04 62 8d 84 a9 e5
fb bf 8e 2d 0e cb 00 00 32 c0 30 c0 2c c0 28 c0
24 c0 14 c0 0a 00 a3 00 9f 00 6b 00 6a 00 39 00
38 c0 19 00 a7 00 6d 00 3a c0 32 c0 2e c0 2a c0
26 c0 0f c0 05 00 9d 00 3d 00 35 01 00 00 7e ff
01 00 0d 0c 52 16 05 75 ee db 9a 44 dc cc 6c bf
00 0b 00 04 03 00 01 02 00 0a 00 34 00 32 00 0e
00 0d 00 19 00 0b 00 0c 00 18 00 09 00 0a 00 16
00 17 00 08 00 06 00 07 00 14 00 15 00 04 00 05
00 12 00 13 00 01 00 02 00 03 00 0f 00 10 00 11
00 23 00 00 00 0d 00 20 00 1e 06 01 06 02 06 03
05 01 05 02 05 03 04 01 04 02 04 03 03 01 03 02
03 03 02 01 02 02 02 03 00 0f 00 01 01
<<< TLS 1.2 Alert [length 0002], warning close_notify
01 00
1825587648:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake
failure:/home/ravi/101jssl-h01/openssl-1.0.1j/ssl/s3_pkt.c:615:
Why is it giving a ssl3_write_bytes error and handshake failure?
From the log it is obvious that server does not deal the first message "TLS 1.2 Handshake [length 00dd], ClientHello" properly and does not send the ServerHello message, so it sends an alert which notifies the close of connection to client. The client receives the alert message, and calls ssl3_write_bytes to deal this message. And current status is still in TLS renegotiation. So the handshake function will be called, and give out an error as received message is not expected. This is very clear in code
int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
{
const unsigned char *buf=buf_;
unsigned int n,nw;
int i,tot;
s->rwstate=SSL_NOTHING;
OPENSSL_assert(s->s3->wnum <= INT_MAX);
tot=s->s3->wnum;
s->s3->wnum=0;
if (SSL_in_init(s) && !s->in_handshake)
{
i=s->handshake_func(s);
if (i < 0) return(i);
if (i == 0)
{
SSLerr(SSL_F_SSL3_WRITE_BYTES,SSL_R_SSL_HANDSHAKE_FAILURE);
return -1;
}
}
......
I am trying to use boto's multipart upload API in my application. But it is failing with
The request signature we calculated does not match the signature you
provided. Check your key and signing method
Here are the error details
import boto
import boto3
s3_conn = boto.s3.connect_to_region('eu-central-1', aws_access_key_id=******, aws_secret_access_key=*****)
buckt = s3_conn.get_bucket('phoenix-4-147757042135')
mpuid = buckt.initiate_multipart_upload('4/5137/data_6000C298-a994-efe2-7e3b-efb3fd5a6c76/FULL/amar')
mpuid.copy_part_from_key('phoenix-4-147757042135', '4/5137/data_6000C298-a994-efe2-7e3b-efb3fd5a6c76/FULL/10000000', 1, 0, 1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/boto-2.39.0-py2.6.egg/boto/s3/multipart.py", line 306, in copy_part_from_key
query_args=query_args)
File "/usr/lib/python2.6/site-packages/boto-2.39.0-py2.6.egg/boto/s3/bucket.py", line 889, in copy_key
response.reason, body)
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><AWSAccessKeyId>ASIAIZZPTQJ3AWY3WG2Q</AWSAccessKeyId><StringToSign>AWS4-HMAC-SHA256
20161110T051801Z
20161110/eu-central-1/s3/aws4_request
bb44a9b3366ce1702d2850188d998eab092746bea906b50481ffe814137efde9</StringToSign><SignatureProvided>2d8b63e0c6f29d602e34ab426bf5704fcaaf6ae15c19550f047931a1da351211</SignatureProvided><StringToSignBytes>41 57 53 34 2d 48 4d 41 43 2d 53 48 41 32 35 36 0a 32 30 31 36 31 31 31 30 54 30 35 31 38 30 31 5a 0a 32 30 31 36 31 31 31 30 2f 65 75 2d 63 65 6e 74 72 61 6c 2d 31 2f 73 33 2f 61 77 73 34 5f 72 65 71 75 65 73 74 0a 62 62 34 34 61 39 62 33 33 36 36 63 65 31 37 30 32 64 32 38 35 30 31 38 38 64 39 39 38 65 61 62 30 39 32 37 34 36 62 65 61 39 30 36 62 35 30 34 38 31 66 66 65 38 31 34 31 33 37 65 66 64 65 39</StringToSignBytes><CanonicalRequest>PUT
/4/5137/data_6000C298-a994-efe2-7e3b-efb3fd5a6c76/FULL/amar
partNumber=1&uploadId=PMd350jeac8vLRuC7qf9CEBckNBqXGWdaEL32a.bCw3Zet.K1IInwYmDEEnkU98.xHSnlucJLeis49yMg2M.NoyOdwAVU8VMYcve6Sv5ExJ8Yh9pc7UJrxli5O2p6PqxH83.I_pcIGttaybTT0ul2nwc79DOUSIpKO8TlMosfNI-
host:phoenix-4-147757042135.s3.eu-central-1.amazonaws.com
user-agent:Boto/2.39.0 Python/2.6.6 Linux/2.6.32-431.20.3.el6.x86_64
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-copy-source:phoenix-4-147757042135/4/5137/data_6000C298-a994-efe2-7e3b-efb3fd5a6c76/FULL/10000000
x-amz-copy-source-range:bytes=0-1
x-amz-date:20161110T051801Z
x-amz-security-token:FQoDYXdzEFYaDOR7x87//+eMX2hqwyK9A6+FKe1SX8gN2bpcbRJPuJxLZC+zP62TnzqoXA1lPvdKhjWpJI0v0UZ46Y+IcvbflIQXq438R8kC5QHJZHLx/fsDC7lPYLuDPA3d43V+cc28cn44pjD34DQpy0RKGMc7GJljZR+ijOb3m8e6bxv4c4kN83Kv+Gs7UBBa5EoGeg4NHN3neNN8g2u68Ad0uouPDV1Wvuiijbfp6ZIaT4LZFbq3mE11ZXiBjQDSDTDcLpO+ek3VCck6bpzquT/jDc8Jzrm6/rS8Giqs/xWLiATa4VqxVXzvbQ2Pu4Tv0kfCU7uc6DWMrBMhejj97s/HKLU0b12mcQ65T+FcieYALPfM4qPf27ZZVsjXWkCzkrMu8qOAblqpVCG15A2snZn0Ke6T7JF6ONGKkr1jSQ3Tv93C5/j6HuQOIcsuRKDLkBLgffOAyIzDzY2xBQvBIABTk0ENcLkgYzNLKsWLFuI3Pry24qcXVCSzXruyEE2neqZp8ohAvVh0WPZOtxmPOTbGgqRn2xEgb3yODAyz7+KOemRvfyGgxBGmvvSnuLrr24vY/6Inm49Q736eT7d5xmzflbLG6cdtBejyKmgttcOpuiEo9f2PwQU=
host;user-agent;x-amz-content-sha256;x-amz-copy-source;x-amz-copy-source-range;x-amz-date;x-amz-security-token
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855</CanonicalRequest><CanonicalRequestBytes>50 55 54 0a 2f 34 2f 35 31 33 37 2f 64 61 74 61 5f 36 30 30 30 43 32 39 38 2d 61 39 39 34 2d 65 66 65 32 2d 37 65 33 62 2d 65 66 62 33 66 64 35 61 36 63 37 36 2f 46 55 4c 4c 2f 61 6d 61 72 0a 70 61 72 74 4e 75 6d 62 65 72 3d 31 26 75 70 6c 6f 61 64 49 64 3d 50 4d 64 33 35 30 6a 65 61 63 38 76 4c 52 75 43 37 71 66 39 43 45 42 63 6b 4e 42 71 58 47 57 64 61 45 4c 33 32 61 2e 62 43 77 33 5a 65 74 2e 4b 31 49 49 6e 77 59 6d 44 45 45 6e 6b 55 39 38 2e 78 48 53 6e 6c 75 63 4a 4c 65 69 73 34 39 79 4d 67 32 4d 2e 4e 6f 79 4f 64 77 41 56 55 38 56 4d 59 63 76 65 36 53 76 35 45 78 4a 38 59 68 39 70 63 37 55 4a 72 78 6c 69 35 4f 32 70 36 50 71 78 48 38 33 2e 49 5f 70 63 49 47 74 74 61 79 62 54 54 30 75 6c 32 6e 77 63 37 39 44 4f 55 53 49 70 4b 4f 38 54 6c 4d 6f 73 66 4e 49 2d 0a 68 6f 73 74 3a 70 68 6f 65 6e 69 78 2d 34 2d 31 34 37 37 35 37 30 34 32 31 33 35 2e 73 33 2e 65 75 2d 63 65 6e 74 72 61 6c 2d 31 2e 61 6d 61 7a 6f 6e 61 77 73 2e 63 6f 6d 0a 75 73 65 72 2d 61 67 65 6e 74 3a 42 6f 74 6f 2f 32 2e 33 39 2e 30 20 50 79 74 68 6f 6e 2f 32 2e 36 2e 36 20 4c 69 6e 75 78 2f 32 2e 36 2e 33 32 2d 34 33 31 2e 32 30 2e 33 2e 65 6c 36 2e 78 38 36 5f 36 34 0a 78 2d 61 6d 7a 2d 63 6f 6e 74 65 6e 74 2d 73 68 61 32 35 36 3a 65 33 62 30 63 34 34 32 39 38 66 63 31 63 31 34 39 61 66 62 66 34 63 38 39 39 36 66 62 39 32 34 32 37 61 65 34 31 65 34 36 34 39 62 39 33 34 63 61 34 39 35 39 39 31 62 37 38 35 32 62 38 35 35 0a 78 2d 61 6d 7a 2d 63 6f 70 79 2d 73 6f 75 72 63 65 3a 70 68 6f 65 6e 69 78 2d 34 2d 31 34 37 37 35 37 30 34 32 31 33 35 2f 34 2f 35 31 33 37 2f 64 61 74 61 5f 36 30 30 30 43 32 39 38 2d 61 39 39 34 2d 65 66 65 32 2d 37 65 33 62 2d 65 66 62 33 66 64 35 61 36 63 37 36 2f 46 55 4c 4c 2f 31 30 30 30 30 30 30 30 0a 78 2d 61 6d 7a 2d 63 6f 70 79 2d 73 6f 75 72 63 65 2d 72 61 6e 67 65 3a 62 79 74 65 73 3d 30 2d 31 0a 78 2d 61 6d 7a 2d 64 61 74 65 3a 32 30 31 36 31 31 31 30 54 30 35 31 38 30 31 5a 0a 78 2d 61 6d 7a 2d 73 65 63 75 72 69 74 79 2d 74 6f 6b 65 6e 3a 46 51 6f 44 59 58 64 7a 45 46 59 61 44 4f 52 37 78 38 37 2f 2f 2b 65 4d 58 32 68 71 77 79 4b 39 41 36 2b 46 4b 65 31 53 58 38 67 4e 32 62 70 63 62 52 4a 50 75 4a 78 4c 5a 43 2b 7a 50 36 32 54 6e 7a 71 6f 58 41 31 6c 50 76 64 4b 68 6a 57 70 4a 49 30 76 30 55 5a 34 36 59 2b 49 63 76 62 66 6c 49 51 58 71 34 33 38 52 38 6b 43 35 51 48 4a 5a 48 4c 78 2f 66 73 44 43 37 6c 50 59 4c 75 44 50 41 33 64 34 33 56 2b 63 63 32 38 63 6e 34 34 70 6a 44 33 34 44 51 70 79 30 52 4b 47 4d 63 37 47 4a 6c 6a 5a 52 2b 69 6a 4f 62 33 6d 38 65 36 62 78 76 34 63 34 6b 4e 38 33 4b 76 2b 47 73 37 55 42 42 61 35 45 6f 47 65 67 34 4e 48 4e 33 6e 65 4e 4e 38 67 32 75 36 38 41 64 30 75 6f 75 50 44 56 31 57 76 75 69 69 6a 62 66 70 36 5a 49 61 54 34 4c 5a 46 62 71 33 6d 45 31 31 5a 58 69 42 6a 51 44 53 44 54 44 63 4c 70 4f 2b 65 6b 33 56 43 63 6b 36 62 70 7a 71 75 54 2f 6a 44 63 38 4a 7a 72 6d 36 2f 72 53 38 47 69 71 73 2f 78 57 4c 69 41 54 61 34 56 71 78 56 58 7a 76 62 51 32 50 75 34 54 76 30 6b 66 43 55 37 75 63 36 44 57 4d 72 42 4d 68 65 6a 6a 39 37 73 2f 48 4b 4c 55 30 62 31 32 6d 63 51 36 35 54 2b 46 63 69 65 59 41 4c 50 66 4d 34 71 50 66 32 37 5a 5a 56 73 6a 58 57 6b 43 7a 6b 72 4d 75 38 71 4f 41 62 6c 71 70 56 43 47 31 35 41 32 73 6e 5a 6e 30 4b 65 36 54 37 4a 46 36 4f 4e 47 4b 6b 72 31 6a 53 51 33 54 76 39 33 43 35 2f 6a 36 48 75 51 4f 49 63 73 75 52 4b 44 4c 6b 42 4c 67 66 66 4f 41 79 49 7a 44 7a 59 32 78 42 51 76 42 49 41 42 54 6b 30 45 4e 63 4c 6b 67 59 7a 4e 4c 4b 73 57 4c 46 75 49 33 50 72 79 32 34 71 63 58 56 43 53 7a 58 72 75 79 45 45 32 6e 65 71 5a 70 38 6f 68 41 76 56 68 30 57 50 5a 4f 74 78 6d 50 4f 54 62 47 67 71 52 6e 32 78 45 67 62 33 79 4f 44 41 79 7a 37 2b 4b 4f 65 6d 52 76 66 79 47 67 78 42 47 6d 76 76 53 6e 75 4c 72 72 32 34 76 59 2f 36 49 6e 6d 34 39 51 37 33 36 65 54 37 64 35 78 6d 7a 66 6c 62 4c 47 36 63 64 74 42 65 6a 79 4b 6d 67 74 74 63 4f 70 75 69 45 6f 39 66 32 50 77 51 55 3d 0a 0a 68 6f 73 74 3b 75 73 65 72 2d 61 67 65 6e 74 3b 78 2d 61 6d 7a 2d 63 6f 6e 74 65 6e 74 2d 73 68 61 32 35 36 3b 78 2d 61 6d 7a 2d 63 6f 70 79 2d 73 6f 75 72 63 65 3b 78 2d 61 6d 7a 2d 63 6f 70 79 2d 73 6f 75 72 63 65 2d 72 61 6e 67 65 3b 78 2d 61 6d 7a 2d 64 61 74 65 3b 78 2d 61 6d 7a 2d 73 65 63 75 72 69 74 79 2d 74 6f 6b 65 6e 0a 65 33 62 30 63 34 34 32 39 38 66 63 31 63 31 34 39 61 66 62 66 34 63 38 39 39 36 66 62 39 32 34 32 37 61 65 34 31 65 34 36 34 39 62 39 33 34 63 61 34 39 35 39 39 31 62 37 38 35 32 62 38 35 35</CanonicalRequestBytes><RequestId>3EDF2BFB155307CF</RequestId><HostId>q5lLYag9EJC/liFWejbNHWgFPZUDMLG3bBP5xM2+u87HlsO4alkoEu5r7xIcOih+YPcGFeCVJ20=</HostId></Error>
Thanks John Rotenstein & Jordon Phillips for your help.
My issue got resolved by using boto3 for multipart. I was facing above issue with boto for multipart in eu-central-region
Any advice on how to fix this problem would be much appreciated.
I am using the jetty websocket (9.2.6.v20141205) client to connect via apache2 proxy_wstunnel to tomcat7 websocket server.
I get the following error intermittently:
org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! byte 88 in state 0
at org.eclipse.jetty.util.Utf8Appendable.appendByte(Utf8Appendable.java:195)
at org.eclipse.jetty.util.Utf8Appendable.append(Utf8Appendable.java:105)
at org.eclipse.jetty.util.Utf8LineParser.parseByte(Utf8LineParser.java:86)
at org.eclipse.jetty.util.Utf8LineParser.parseByte(Utf8LineParser.java:78)
at org.eclipse.jetty.util.Utf8LineParser.parse(Utf8LineParser.java:61)
at org.eclipse.jetty.websocket.common.io.http.HttpResponseHeaderParser.parse(HttpResponseHeaderParser.java:78)
at org.eclipse.jetty.websocket.client.io.UpgradeConnection.read(UpgradeConnection.java:201)
at org.eclipse.jetty.websocket.client.io.UpgradeConnection.onFillable(UpgradeConnection.java:150)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:626)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:546)
at java.lang.Thread.run(Thread.java:745)
If I remove the apache2 proxy_wstunnel then the error goes away. I've also noticed in the ngrep logs that apache is giving a 500 error, but even if I turn on LogLevel debug I don't see relevant logs. This has consumed several hours of my time. There is also no errors in the tomcat logs.
I do want to continue using wstunnel. Perhaps this is a jetty bug or apache bug?
Here is the ngrep logs:
filter: (ip or ip6) and ( port 80 )
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [S]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AS]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AP]
47 45 54 20 2f 74 72 61 6e 73 6c 61 74 6f 72 2d GET /trandomain-
73 72 76 2f 77 73 20 48 54 54 50 2f 31 2e 31 0d srv/ws HTTP/1.1.
0a 48 6f 73 74 3a 20 77 73 2e 73 6c 61 74 6f 72 .Host: ws.domain
2e 69 6f 0d 0a 55 70 67 72 61 64 65 3a 20 77 65 .io..Upgrade: we
62 73 6f 63 6b 65 74 0d 0a 43 6f 6e 6e 65 63 74 bsocket..Connect
69 6f 6e 3a 20 55 70 67 72 61 64 65 0d 0a 53 65 ion: Upgrade..Se
63 2d 57 65 62 53 6f 63 6b 65 74 2d 4b 65 79 3a c-WebSocket-Key:
20 56 50 54 4a 79 42 6b 30 36 38 65 7a 66 30 62 VPTJyBk068ezf0b
34 57 66 41 39 73 51 3d 3d 0d 0a 53 65 63 2d 57 4WfA9sQ==..Sec-W
65 62 53 6f 63 6b 65 74 2d 56 65 72 73 69 6f 6e ebSocket-Version
3a 20 31 33 0d 0a 50 72 61 67 6d 61 3a 20 6e 6f : 13..Pragma: no
2d 63 61 63 68 65 0d 0a 43 61 63 68 65 2d 43 6f -cache..Cache-Co
6e 74 72 6f 6c 3a 20 6e 6f 2d 63 61 63 68 65 0d ntrol: no-cache.
0a 0d 0a ...
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AP]
48 54 54 50 2f 31 2e 31 20 31 30 31 20 53 77 69 HTTP/1.1 101 Swi
74 63 68 69 6e 67 20 50 72 6f 74 6f 63 6f 6c 73 tching Protocols
0d 0a 53 65 72 76 65 72 3a 20 41 70 61 63 68 65 ..Server: Apache
2d 43 6f 79 6f 74 65 2f 31 2e 31 0d 0a 55 70 67 -Coyote/1.1..Upg
72 61 64 65 3a 20 77 65 62 73 6f 63 6b 65 74 0d rade: websocket.
0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 75 70 67 .Connection: upg
72 61 64 65 0d 0a 53 65 63 2d 57 65 62 53 6f 63 rade..Sec-WebSoc
6b 65 74 2d 41 63 63 65 70 74 3a 20 31 4a 51 76 ket-Accept: 1JQv
41 2f 43 56 55 5a 38 59 6d 4d 4a 38 70 62 33 53 A/CVUZ8YmMJ8pb3S
48 33 51 47 56 4e 34 3d 0d 0a 44 61 74 65 3a 20 H3QGVN4=..Date:
57 65 64 2c 20 32 34 20 44 65 63 20 32 30 31 34 Wed, 24 Dec 2014
20 31 34 3a 33 31 3a 31 37 20 47 4d 54 0d 0a 0d 14:31:17 GMT...
0a .
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AP]
82 9c ea 9e d0 54 e2 9e c3 1e eb af c4 47 a0 98 .....T.......G..
a4 31 99 ea e1 61 fe 8d 9a 53 9e fb a3 20 db ac .1...a...S... ..
e3 40 .#
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AP]
82 09 ..
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AP]
08 00 13 4a 03 32 37 30 14 ...J.270.
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P`.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P`.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P`.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P`.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [S]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AS]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AP]
47 45 54 20 2f 74 72 61 6e 73 6c 61 74 6f 72 2d GET /trandomain-
73 72 76 2f 77 73 20 48 54 54 50 2f 31 2e 31 0d srv/ws HTTP/1.1.
0a 48 6f 73 74 3a 20 77 73 2e 73 6c 61 74 6f 72 .Host: ws.domain
2e 69 6f 0d 0a 55 70 67 72 61 64 65 3a 20 77 65 .io..Upgrade: we
62 73 6f 63 6b 65 74 0d 0a 43 6f 6e 6e 65 63 74 bsocket..Connect
69 6f 6e 3a 20 55 70 67 72 61 64 65 0d 0a 53 65 ion: Upgrade..Se
63 2d 57 65 62 53 6f 63 6b 65 74 2d 4b 65 79 3a c-WebSocket-Key:
20 53 35 65 55 79 36 78 6a 55 53 70 51 46 57 47 S5eUy6xjUSpQFWG
37 2b 4a 4d 66 2b 51 3d 3d 0d 0a 53 65 63 2d 57 7+JMf+Q==..Sec-W
65 62 53 6f 63 6b 65 74 2d 56 65 72 73 69 6f 6e ebSocket-Version
3a 20 31 33 0d 0a 50 72 61 67 6d 61 3a 20 6e 6f : 13..Pragma: no
2d 63 61 63 68 65 0d 0a 43 61 63 68 65 2d 43 6f -cache..Cache-Co
6e 74 72 6f 6c 3a 20 6e 6f 2d 63 61 63 68 65 0d ntrol: no-cache.
0a 0d 0a ...
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AP]
48 54 54 50 2f 31 2e 31 20 31 30 31 20 53 77 69 HTTP/1.1 101 Swi
74 63 68 69 6e 67 20 50 72 6f 74 6f 63 6f 6c 73 tching Protocols
0d 0a 53 65 72 76 65 72 3a 20 41 70 61 63 68 65 ..Server: Apache
2d 43 6f 79 6f 74 65 2f 31 2e 31 0d 0a 55 70 67 -Coyote/1.1..Upg
72 61 64 65 3a 20 77 65 62 73 6f 63 6b 65 74 0d rade: websocket.
0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 75 70 67 .Connection: upg
72 61 64 65 0d 0a 53 65 63 2d 57 65 62 53 6f 63 rade..Sec-WebSoc
6b 65 74 2d 41 63 63 65 70 74 3a 20 52 56 43 4b ket-Accept: RVCK
72 41 6c 7a 59 30 66 4b 38 38 61 4d 43 30 61 37 rAlzY0fK88aMC0a7
6e 31 74 62 35 71 38 3d 0d 0a 44 61 74 65 3a 20 n1tb5q8=..Date:
57 65 64 2c 20 32 34 20 44 65 63 20 32 30 31 34 Wed, 24 Dec 2014
20 31 34 3a 33 31 3a 33 39 20 47 4d 54 0d 0a 0d 14:31:39 GMT...
0a .
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AP]
82 9c a1 86 a8 97 a9 86 bb dd a0 b7 bc 84 eb 80 ................
dc f2 d2 f2 99 a2 b5 95 e2 90 d5 e3 db e3 90 b4 ................
9b 83 ..
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AP]
82 09 ..
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AP]
08 00 13 4a 03 32 37 30 14 ...J.270.
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P`.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AFP]
88 8a bc 23 03 08 bf ca 50 60 c9 57 67 67 cb 4d ...#....P`.Wgg.M
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [A]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [S]
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [AS]
#
T 104.131.x.x:80 -> 105.210.y.y:49975 [AF]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AP]
47 45 54 20 2f 74 72 61 6e 73 6c 61 74 6f 72 2d GET /trandomain-
73 72 76 2f 77 73 20 48 54 54 50 2f 31 2e 31 0d srv/ws HTTP/1.1.
0a 48 6f 73 74 3a 20 77 73 2e 73 6c 61 74 6f 72 .Host: ws.domain
2e 69 6f 0d 0a 55 70 67 72 61 64 65 3a 20 77 65 .io..Upgrade: we
62 73 6f 63 6b 65 74 0d 0a 43 6f 6e 6e 65 63 74 bsocket..Connect
69 6f 6e 3a 20 55 70 67 72 61 64 65 0d 0a 53 65 ion: Upgrade..Se
63 2d 57 65 62 53 6f 63 6b 65 74 2d 4b 65 79 3a c-WebSocket-Key:
20 62 45 54 54 44 72 77 54 75 69 64 4f 67 4a 4a bETTDrwTuidOgJJ
68 73 56 7a 31 4c 41 3d 3d 0d 0a 53 65 63 2d 57 hsVz1LA==..Sec-W
65 62 53 6f 63 6b 65 74 2d 56 65 72 73 69 6f 6e ebSocket-Version
3a 20 31 33 0d 0a 50 72 61 67 6d 61 3a 20 6e 6f : 13..Pragma: no
2d 63 61 63 68 65 0d 0a 43 61 63 68 65 2d 43 6f -cache..Cache-Co
6e 74 72 6f 6c 3a 20 6e 6f 2d 63 61 63 68 65 0d ntrol: no-cache.
0a 0d 0a ...
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [AP]
88 0a 03 e9 53 68 75 74 64 6f 77 6e ....Shutdown
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [AP]
3c 21 44 4f 43 54 59 50 45 20 48 54 4d 4c 20 50 ..
3c 74 69 74 6c 65 3e 35 30 30 20 49 6e 74 65 72 500 Inter
6e 61 6c 20 53 65 72 76 65 72 20 45 72 72 6f 72 nal Server Error
3c 2f 74 69 74 6c 65 3e 0a 3c 2f 68 65 61 64 3e .
3c 62 6f 64 79 3e 0a 3c 68 31 3e 49 6e 74 65 72 .Inter
6e 61 6c 20 53 65 72 76 65 72 20 45 72 72 6f 72 nal Server Error
3c 2f 68 31 3e 0a 3c 70 3e 54 68 65 20 73 65 72 .The ser
76 65 72 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 ver encountered
61 6e 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f an internal erro
72 20 6f 72 0a 6d 69 73 63 6f 6e 66 69 67 75 72 r or.misconfigur
61 74 69 6f 6e 20 61 6e 64 20 77 61 73 20 75 6e ation and was un
61 62 6c 65 20 74 6f 20 63 6f 6d 70 6c 65 74 65 able to complete
0a 79 6f 75 72 20 72 65 71 75 65 73 74 2e 3c 2f .your request..Please con
74 61 63 74 20 74 68 65 20 73 65 72 76 65 72 20 tact the server
61 64 6d 69 6e 69 73 74 72 61 74 6f 72 20 61 74 administrator at
20 0a 20 77 65 62 6d 61 73 74 65 72 40 6c 6f 63 . webmaster#loc
61 6c 68 6f 73 74 20 74 6f 20 69 6e 66 6f 72 6d alhost to inform
20 74 68 65 6d 20 6f 66 20 74 68 65 20 74 69 6d them of the tim
65 20 74 68 69 73 20 65 72 72 6f 72 20 6f 63 63 e this error occ
75 72 72 65 64 2c 0a 20 61 6e 64 20 74 68 65 20 urred,. and the
61 63 74 69 6f 6e 73 20 79 6f 75 20 70 65 72 66 actions you perf
6f 72 6d 65 64 20 6a 75 73 74 20 62 65 66 6f 72 ormed just befor
65 20 74 68 69 73 20 65 72 72 6f 72 2e 3c 2f 70 e this error..More inform
61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 69 73 ation about this
20 65 72 72 6f 72 20 6d 61 79 20 62 65 20 61 76 error may be av
61 69 6c 61 62 6c 65 0a 69 6e 20 74 68 65 20 73 ailable.in the s
65 72 76 65 72 20 65 72 72 6f 72 20 6c 6f 67 2e erver error log.
3c 2f 70 3e 0a 3c 68 72 3e 0a 3c 61 64 64 72 65 ..Apache/2.4.7
28 55 62 75 6e 74 75 29 20 53 65 72 76 65 72 20 (Ubuntu) Server
61 74 20 77 73 2e 73 6c 61 74 6f 72 2e 69 6f 20 at ws.domain.io
50 6f 72 74 20 38 30 3c 2f 61 64 64 72 65 73 73 Port 80.
0a .
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [AF]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [A]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49975 -> 104.131.x.x:80 [AR]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AFP]
88 8a ad d9 9f c4 ae 30 cc ac d8 ad fb ab da b7 .......0........
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [A]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 104.131.x.x:80 -> 105.210.y.y:49983 [AF]
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
#
T 105.210.y.y:49983 -> 104.131.x.x:80 [AR]
00 00 00 00 00 00 ......
#
T 105.210.y.y:49991 -> 104.131.x.x:80 [AF]
00 00 00 00 00 00 ......
#
T 104.131.x.x:80 -> 105.210.y.y:49991 [A]
exit
83 received, 0 dropped
Here is the ngrep logs between apache and tomcat:
interface: lo (127.0.0.0/255.0.0.0)
filter: (ip or ip6) and ( port 8080 )
#
T 127.0.0.1:57952 -> 127.0.0.1:8080 [AP]
47 45 54 20 2f 74 72 61 6e 73 6c 61 74 6f 72 2d GET /translator-
73 72 76 2f 77 73 20 48 54 54 50 2f 31 2e 31 0d srv/ws HTTP/1.1.
0a 48 6f 73 74 3a 20 6c 6f 63 61 6c 68 6f 73 74 .Host: localhost
3a 38 30 38 30 0d 0a 53 65 63 2d 57 65 62 53 6f :8080..Sec-WebSo
63 6b 65 74 2d 4b 65 79 3a 20 64 36 57 73 6c 6b cket-Key: d6Wslk
56 48 77 79 4d 47 77 62 5a 4f 6c 71 56 53 2b 51 VHwyMGwbZOlqVS+Q
3d 3d 0d 0a 53 65 63 2d 57 65 62 53 6f 63 6b 65 ==..Sec-WebSocke
74 2d 56 65 72 73 69 6f 6e 3a 20 31 33 0d 0a 50 t-Version: 13..P
72 61 67 6d 61 3a 20 6e 6f 2d 63 61 63 68 65 0d ragma: no-cache.
0a 43 61 63 68 65 2d 43 6f 6e 74 72 6f 6c 3a 20 .Cache-Control:
6e 6f 2d 63 61 63 68 65 0d 0a 58 2d 46 6f 72 77 no-cache..X-Forw
61 72 64 65 64 2d 46 6f 72 3a 20 31 30 35 2e 32 arded-For: 105.2
31 30 2e 33 38 2e 31 34 39 0d 0a 58 2d 46 6f 72 10.38.149..X-For
77 61 72 64 65 64 2d 48 6f 73 74 3a 20 77 73 2e warded-Host: ws.
73 6c 61 74 6f 72 2e 69 6f 0d 0a 58 2d 46 6f 72 slator.io..X-For
77 61 72 64 65 64 2d 53 65 72 76 65 72 3a 20 77 warded-Server: w
73 2e 73 6c 61 74 6f 72 2e 69 6f 0d 0a 55 70 67 s.slator.io..Upg
72 61 64 65 3a 20 57 65 62 53 6f 63 6b 65 74 0d rade: WebSocket.
0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 55 70 67 .Connection: Upg
72 61 64 65 0d 0a 0d 0a rade....
#
T 127.0.0.1:8080 -> 127.0.0.1:57952 [R]
exit
4 received, 0 dropped
I had to compile the latest version of apache on my server and that seemed to solve the issue.
I created this question and answer to document that process:
https://serverfault.com/questions/655722/how-do-i-compile-the-latest-apache2-on-ubuntu-using-the-original-layout-configu/655724#655724
When a csr is signed , I get crt file and then convert to pem. Is there a way to sign csr to get pem directly (one step without conversion)?
I tried "$ openssl ca ... -out cert.pem", but the generated "cert.pem" is still in crt format, i.e. it has human-readable portion before "-----BEGIN CERTIFICATE-----".
Thank you.
You need to use the outform parameter, which isn't available on all openssl commands, it is available in the x509 directive and req. If you are looking to create a self-signed certificate you can do it all in one line:
openssl req -outform PEM -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout mysitename.key -out mysitename.pem
Here is a difference between DER and PEM I created on the fly, see the difference?:
# cat mysitename.pem
-----BEGIN CERTIFICATE-----
MIIDtTCCAp2gAwIBAgIJANR/b/eOXlq+MA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTQwMTAxMDYyNDAxWhcNMTUwMTAxMDYyNDAxWjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAy92lHaC8sP6UkeoaoLH6xKOxQtrvtWmP6myqy100T/TAv7QqJnVzbDXd
ukfMCPRa4WVXi/dOtXUqqfpsGj0+I35A4P5ygVqErgBxtTXI7UGtPV7cVQ5JfaV+
F+Sj3EiDmil6sHy+0JZ7u3smg88QRCtelFJLbR+hnA4y1NaGY2wmmVtdzCTCkCQn
/BlLZhOV/TMzjZmBQj6/+f4vSMYH9OJ6CXVt7ylCWpy81zSv/tuv8Zmx8YJthJo1
6iiRjmL0Y78RykhAtbjMFe3tCeEuJsK8uzjmKipJXYNWFHl/hcXemVPfKbkqzkR0
fqVKVRpjXw/ZH03RAmUgrfIH6eVAZwIDAQABo4GnMIGkMB0GA1UdDgQWBBQTa5hF
UxN2WrOqoPebd31iLe6XNzB1BgNVHSMEbjBsgBQTa5hFUxN2WrOqoPebd31iLe6X
N6FJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJANR/b/eOXlq+MAwGA1UdEwQF
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBACTRFbVO7tOn3PP0UCVX1k9xbRfj7ZUa
CuA6rFoDp8JogV8LZWeqPtiNjycaml94Wcc5z9cahvN/3sobfZ8yiYRUgkke5kor
el8R/I4u4X3BObU6Se66WCEuNQYj367gsa4HXju538zIw+i7oOIxbu1DI4UKxG/r
jCJAC7lXyl9c/sxPYqg3nSp7CAfqwqBlHoBCbAOzSvUfMxFwf5pGc2YVK8Q8c+pW
pVlDBroOKmCjLc9JAmJG4TQ2mADpGu0LY398trMOQJWhSV4x++tDYlw0mnV8rPF2
7bhKz11mZEsFPaJ1UAbthOYWCl2MvVJf9pmah5VEoXUyM+gw9LfeXW8=
-----END CERTIFICATE-----
# hexdump mysitename2.der
00 01 02 03 04 05 06 07 - 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF
00000000 30 82 03 B5 30 82 02 9D - A0 03 02 01 02 02 09 00 0...0...........
00000010 AE E1 5C 32 AA 72 47 CC - 30 0D 06 09 2A 86 48 86 ..\2.rG.0...*.H.
00000020 F7 0D 01 01 05 05 00 30 - 45 31 0B 30 09 06 03 55 .......0E1.0...U
00000030 04 06 13 02 41 55 31 13 - 30 11 06 03 55 04 08 13 ....AU1.0...U...
00000040 0A 53 6F 6D 65 2D 53 74 - 61 74 65 31 21 30 1F 06 .Some-State1!0..
00000050 03 55 04 0A 13 18 49 6E - 74 65 72 6E 65 74 20 57 .U....Internet W
00000060 69 64 67 69 74 73 20 50 - 74 79 20 4C 74 64 30 1E idgits Pty Ltd0.
00000070 17 0D 31 34 30 31 30 31 - 30 36 32 37 30 36 5A 17 ..140101062706Z.
00000080 0D 31 35 30 31 30 31 30 - 36 32 37 30 36 5A 30 45 .150101062706Z0E
00000090 31 0B 30 09 06 03 55 04 - 06 13 02 41 55 31 13 30 1.0...U....AU1.0
000000A0 11 06 03 55 04 08 13 0A - 53 6F 6D 65 2D 53 74 61 ...U....Some-Sta
000000B0 74 65 31 21 30 1F 06 03 - 55 04 0A 13 18 49 6E 74 te1!0...U....Int
000000C0 65 72 6E 65 74 20 57 69 - 64 67 69 74 73 20 50 74 ernet Widgits Pt
000000D0 79 20 4C 74 64 30 82 01 - 22 30 0D 06 09 2A 86 48 y Ltd0.."0...*.H
000000E0 86 F7 0D 01 01 01 05 00 - 03 82 01 0F 00 30 82 01 .............0..
000000F0 0A 02 82 01 01 00 B3 00 - 17 31 F1 CD 97 CB AE 68 .........1.....h
00000100 0C 9D 62 82 75 CF 78 C3 - 23 68 EF 57 8A 65 EB C1 ..b.u.x.#h.W.e..
00000110 37 0D 28 78 94 43 BF 1C - 18 FE 03 DB CC 0E D8 08 7.(x.C..........
00000120 AE CB B2 32 2F A4 F0 69 - E7 04 4B 98 93 DB CB 94 ...2/..i..K.....
00000130 A1 3B 9C 9F C8 2B 37 DB - 3B AD F9 15 79 55 D7 8B .;...+7.;...yU..
00000140 58 8A 5E 92 DC C5 2F B4 - C2 90 E5 58 C8 3E 6D 33 X.^.../....X.>m3
00000150 BA 67 B6 6D 83 03 01 F6 - B9 DB 71 0B 10 13 56 B2 .g.m......q...V.
00000160 F8 42 6F F7 AE 57 86 AA - AE AF D8 BF 39 9E 62 A0 .Bo..W......9.b.
00000170 14 1B D9 5E F4 22 76 0B - 44 58 D1 B2 E8 87 6C 3B ...^."v.DX....l;
00000180 72 7F D5 E2 89 26 5C 53 - F3 D4 2F 60 E2 67 C1 09 r....&\S../`.g..
00000190 AB 1A 8A 4A 8E 2A C2 07 - C3 CE 02 A3 F8 03 35 E1 ...J.*........5.
000001A0 D8 85 31 11 A6 7B B3 2D - D5 10 9C 74 48 7E 3A 19 ..1..{.-...tH~:.
000001B0 97 FD 89 4C 2E A8 0F 2E - CE FC A1 EE 73 41 15 1D ...L........sA..
000001C0 71 63 D3 DF ED DA 2C 5A - 7D 3F F2 06 2D C6 6E 10 qc....,Z}?..-.n.
000001D0 39 D7 6F D3 70 32 4A D8 - CC A3 B8 09 3C 52 62 93 9.o.p2J.....<Rb.
000001E0 2B 6E BF 6E FD D7 FA F7 - 19 3D 7D 6D 7C 20 5D 31 +n.n.....=}m| ]1
000001F0 82 07 CC 6E B1 A1 02 03 - 01 00 01 A3 81 A7 30 81 ...n..........0.
00000200 A4 30 1D 06 03 55 1D 0E - 04 16 04 14 09 A1 46 E7 .0...U........F.
00000210 3A E8 6E 17 95 7B 0D 15 - 66 3D BF 92 6D 5D 41 25 :.n..{..f=..m]A%
00000220 30 75 06 03 55 1D 23 04 - 6E 30 6C 80 14 09 A1 46 0u..U.#.n0l....F
00000230 E7 3A E8 6E 17 95 7B 0D - 15 66 3D BF 92 6D 5D 41 .:.n..{..f=..m]A
00000240 25 A1 49 A4 47 30 45 31 - 0B 30 09 06 03 55 04 06 %.I.G0E1.0...U..
00000250 13 02 41 55 31 13 30 11 - 06 03 55 04 08 13 0A 53 ..AU1.0...U....S
00000260 6F 6D 65 2D 53 74 61 74 - 65 31 21 30 1F 06 03 55 ome-State1!0...U
00000270 04 0A 13 18 49 6E 74 65 - 72 6E 65 74 20 57 69 64 ....Internet Wid
00000280 67 69 74 73 20 50 74 79 - 20 4C 74 64 82 09 00 AE gits Pty Ltd....
00000290 E1 5C 32 AA 72 47 CC 30 - 0C 06 03 55 1D 13 04 05 .\2.rG.0...U....
000002A0 30 03 01 01 FF 30 0D 06 - 09 2A 86 48 86 F7 0D 01 0....0...*.H....
000002B0 01 05 05 00 03 82 01 01 - 00 AE 59 7C 8F A0 F7 75 ..........Y|...u
000002C0 BA 83 63 9F AA A0 7F BF - B4 B1 EC A9 C5 DA 4B 4A ..c...........KJ
000002D0 D9 40 DC 21 1D 1A 3B 98 - D8 ED 21 40 00 98 A1 FA .#.!..;...!#....
000002E0 A6 7A 01 F0 C6 A8 E8 BD - 6E AA F5 FA 45 99 C4 20 .z......n...E..
000002F0 AD C8 C7 E3 81 BC FF CD - 48 1D 01 EC 44 3E A2 05 ........H...D>..
00000300 CD 0D 22 62 3B 85 AB A8 - EA 28 D0 AA 76 06 73 41 .."b;....(..v.sA
00000310 10 6D 7A 1B C9 E2 5B F4 - 93 8F 91 A4 25 1B C7 91 .mz...[.....%...
00000320 C7 31 2A D2 00 86 8A 94 - FE DB 48 87 52 A1 0F 3C .1*.......H.R..<
00000330 BF 2B 1C 32 5C D8 54 AD - 5A 88 31 3A 4C F3 72 37 .+.2\.T.Z.1:L.r7
00000340 30 39 A1 F1 6D 51 2E 4D - 9F D7 50 5C FE A6 91 CA 09..mQ.M..P\....
00000350 03 36 BA 4D 5F C0 48 8C - D4 FB BB 98 F1 85 11 DB .6.M_.H.........
00000360 BC 16 DA 99 52 A7 82 46 - 82 63 8F D3 F7 5F 00 96 ....R..F.c..._..
00000370 E1 C0 A4 CE 18 61 61 E9 - 84 C3 F6 BD B1 12 9D D4 .....aa.........
00000380 FE AF 87 7B 49 25 A4 0C - 51 5E 20 03 EE 32 64 65 ...{I%..Q^ ..2de
00000390 53 4B 8F CF FC AF 07 6F - 54 96 3F BF A8 85 11 D2 SK.....oT.?.....
000003A0 D3 25 51 60 78 1C DD D3 - 75 35 A8 B4 C9 A2 81 30 .%Q`x...u5.....0
000003B0 A4 87 7F A8 91 B4 32 09 - 5C ......2.\
I have a microcontroller with at camera connected to it. The camera module can take JPEG pictures. I have manage to capture JPEG images (I think) but I'm not sure how to display the images I receive. I get a bit stream from the MCU in hex format. I simply copy the output I get form terminal window and paste it into a hex editor and save it at .jpg file. Is this right? I can't display the images.
Here are the output for a 80x60 JPEG picture in hex.
FF D8 FF E0 01 14 A4 64 94 60 11 10 00 00 0A FF DB 04 30 86 67 65 87 77 99 8A C1 4D CB BC 19 12 13 F1 41 D1 A1 F1 E1 D1 A1 C1 C2 02 42 E2 72 02 22 C2 31 C1 C2 83 72 92 C3 03 13 43 43 41 F2 73 93 D3 83 23 C2 E3 33 43 2F FD B0 43 19 99 CB C1 8D D1 83 22 11 C2 13 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 2F FC 40 1F 00 15 11 11 11 00 00 00 00 12 34 56 78 9A BF FC 40 B5 10 02 13 32 43 55 44 00 17 D1 23 04 11 51 22 13 14 16 13 51 61 72 27 11 43 28 19 1A 18 23 42 B1 C1 15 52 D1 F0 24 33 62 72 82 9A 16 17 18 19 1A 25 26 27 28 29 2A 34 35 36 37 38 39 3A 43 44 45 46 47 48 49 4A 53 54 55 56 57 58 59 5A 63 64 65 66 67 68 69 6A 73 74 75 76 77 78 79 7A 83 84 85 86 87 88 89 8A 92 93 94 95 96 97 98 99 9A A2 A3 A4 A5 A6 A7 A8 A9 AA B2 B3 B4 B5 B6 B7 B8 B9 BA C2 C3 C4 C5 C6 C7 C8 C9 CA D2 D3 D4 D5 D6 D7 D8 D9 DA E1 E2 E3 E4 E5 E6 E7 E8 E9 EA F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FF C4 01 F1 03 11 11 11 11 10 00 00 01 23 45 67 89 AB FF C4 0B 51 10 21 24 43 47 54 40 12 77 01 23 11 45 21 31 61 24 15 17 61 71 13 22 32 81 81 44 29 1A 1B 1C 19 23 33 52 F0 15 62 72 D1 A1 62 43 4E 12 5F 11 71 81 91 A2 62 72 82 92 A3 53 63 73 83 93 A4 34 44 54 64 74 84 94 A5 35 45 55 65 75 85 95 A6 36 46 56 66 76 86 96 A7 37 47 57 67 77 87 97 A8 28 38 48 58 68 78 88 98 A9 29 39 49 59 69 79 89 99 AA 2A 3A 4A 5A 6A 7A 8A 9A AB 2B 3B 4B 5B 6B 7B 8B 9B AC 2C 3C 4C 5C 6C 7C 8C 9C AD 2D 3D 4D 5D 6D 7D 8D 9D AE 2E 3E 4E 5E 6E 7E 8E 9E AF 2F 3F 4F 5F 6F 7F 8F 9F AF FC 00 11 80 3C 05 03 12 10 21 11 31 11 FF DA 0C 31 02 11 31 10 3F 0E 3E F2 28 C3 F9 51 21 55 E4 45 44 F2 C2 8A 94 EE CE 98 C2 D1 2F 68 1E 1F 8F 55 B8 91 E5 5C 43 18 E7 DC D5 5B FF 0E 46 D2 4B 25 B9 FD D8 3C 55 FB 46 8C 1C 39 A7 64 63 49 67 E4 82 3B D4 36 AC FA 9C 49 D4 96 14 9B BB 15 48 F2 A3 DA F4 E8 19 6D 23 E3 B5 59 28 D8 E9 4D A3 9F 52 B4 A4 8A A1 32 CA EE 1C 54 35 7D 8A 48 E4 16 D2 51 19 BA 91 78 DD 33 54 DD 41 24 FA D4 45 9E B6 8D 68 6F 69 77 12 DA D8 35 BA AE D3 26 72 7E B5 AB 6D A5 89 E0 D8 78 6A E1 A9 C6 DF 2B 6D 1C 77 8C 34 F1 A6 BA 2C 67 96 AC CF 0B 5A 9B 8F 15 B8 6E 99 C9 AA D9 99 CA 4E 5B 9E F7 5A A2 CA 0E D4 35 9E EE D4 37 72 12 27 B3 45 EA 2A 85 D2 2C 68 70 BD 28 41 63 CC 24 D4 65 36 51 C0 ED C0 A8 2D 98 CF 70 91 8E 72 6B 14 B4 3D 72 51 5A 1B F1 48 04 E1 3F BB 5D 35 94 AA 91 02 7A 56 B4 D1 C6 DE 87 17 E3 09 D6 F6 F5 4E 42 AC DF 08 07 6F 12 6D 5E 14 F3 49 B6 3A 90 70 48 F7 5B 79 51 60 5F 5C 51 25 C0 C5 23 1E 62 94 B3 8E 79 AC AB CB 8E D1 A8 5C F2 4B A8 DC 4C 11 41 38 1D 2B A9 F0 E8 6D A9 5D DD CD 28 C2 C0 98 19 F5 34 B6 46 F3 97 BA CA C9 F3 6A 33 95 E9 E6 1C 7E 75 BA 25 31 DB F3 D0 AD EB 43 26 2A 69 16 D7 D6 E6 66 40 7D E9 BA 36 93 67 63 A9 16 87 1B 98 D1 28 D8 6E 4E 51 B3 3B 64 57 85 47 20 61 51 63 16 8A 72 EE AC 9B BD E3 34 58 47 98 5E DD C9 DF C8 CB 83 B5 B1 5D 4E 81 AB BD A7 85 AF EE D2 4D 97 0E 58 0C 7E 05 73 CF 64 74 D4 4B A1 9D A5 DE 57 CC BD 73 92 6B A9 2E 6D E7 8F 60 70 9A E8 8C 94 53 6C 9E CE 63 69 68 61 F3 81 47 1C D6 54 77 AD 65 AB C5 21 93 72 BB 62 89 36 DA 34 49 2A 7E A7 AA 58 BC 77 16 E8 DD C8 A9 E4 B6 52 28 E6 31 7B 23 3E E2 0B 9A C6 BC 8F 0F A5 3B 93 63 C9 AD D1 25 B8 B9 8E 45 DC 49 3C D4 33 4B 3D 85 BB DB 52 61 63 9A C9 C2 E9 33 09 55 B5 67 16 C2 D6 FD 18 8C 1E 7D 2B 49 6E 56 67 1C 62 B4 8C 54 8E BA 72 5C C5 6B DB E6 48 70 B2 1C FD 6A A2 CD 2B 42 AC 58 92 E4 13 49 AB 44 D6 BC AD 68 A3 D7 BC 1F AB 0B AD 3A 32 CD F3 01 CD 74 CF 76 08 C8 A8 D4 C5 CE E5 59 AE 55 D4 FA D7 3F 7F 73 B9 CF 4A A4 43 67 93 58 CD E5 5D B1 63 F7 85 69 49 2C 72 70 DC 8F A5 74 52 B5 8F 37 17 17 ED 5B 45 79 F4 8B 69 60 69 E2 72 8E 66 B2 6C E7 9F CC 68 F3 9C 77 15 35 62 AE F1 3A 30 53 94 FE 2E 82 CA 9B 5C F9 CF 81 F5 A9 DD B5 B3 36 EC 76 AC DE AA C7 5D 47 79 5C EB FC 09 7B 24 6C 61 6C 8E 7A 57 A1 06 6A 2C 43 BD C8 25 DE 0E 6B 2B 55 2F 19 CD 96 AD 1E 52 9F 2C E9 8A D5 01 03 81 5A 57 74 72 E3 17 BC 8B 6E 0D 36 5E 07 4A E6 B4 55 0D 74 F9 F5 35 55 F7 41 81 EA 4B A9 42 A6 E8 66 A5 D3 7E 5B B1 18 03 69 EA 2B 96 EF 99 1E 84 D2 3A FD 31 16 1D 62 13 18 03 72 82 6B DD 02 A3 3E 95 A7 41 4B 71 64 45 29 D2 BF 55 3B 2D DC AF A5 2B 93 D0 FF D9
I have manage to solve my problem. There was not a problem with the JPEG file it self, or actually it was, but the reason for that was that the function sprintf() in C removes the zeros under decimal 15. If you have the value 0x00000111, this is decimal 7 and hex 0x07, but my code only prints 0x7. Thats the reason I could not display the image.