2018-01-01ãã1å¹´éã®è¨äºä¸è¦§
å¾©ç¿ Semigroup çµåå (aã»b)ã»c = aã»(bã»c) class Semigroup a where (<>) :: a -> a -> a Monoid çµåå (aã»b)ã»c = aã»(bã»c) åä½å eã»a = aã»e = a class Semigroup a => Monoid a where mempty :: a mappend :: a -> a -> a mappend = (<>) æ¬é¡ Hâ¦
TLS 1.2ã§æå·è·¯ã®éµãæ´æ°ããå ´åã¯ããã³ãã·ã§ã¤ã¯ãããç´ã(åãã´ã·ã¨ã¼ã·ã§ã³ãã)å¿ è¦ããã£ããå®è£ ã®è¦ç¹ããããã¨ãéµæ´æ°ã¯ãã³ãã·ã§ã¤ã¯ã«å¯¾ãã¦åæçã ã£ã訳ã ã TLS 1.3ã§ã¯ããµã¼ããã¯ã©ã¤ã¢ã³ãããã³ãã·ã§ã¤ã¯ããç´ããã¨ãªãããâ¦
ã¯ã¦ãªãã¤ã¢ãªã¼ããã¯ã¦ãªããã°ã«ç§»è¡ãã¾ãããä»å¾ããç´°ã ã¨ããã°ãæ¸ãã¦ããã¾ãã 2018å¹´8æãTLS 1.3ãRFC8446ã«ãªãã¾ããï¼(TLSã®RFCã¯ãä¼çµ±çã«XX46ã¨ããçªå·ã«ãªãã¾ãã) RFC8446ã®è²¢ç®è ãªã¹ãã«åã®ååãè¼ã£ã¦ãããã¨ãèãã¤ããIIJâ¦
ãã©ãã25 ãã©ãã24ã¾ã§ã¯ãAEADã«ä½¿ã additonal_data ã¯ç©ºæååã ã£ãããã©ãã25ããã¯ãæ£ããã¬ã³ã¼ããããã使ããããã¨ãéµå®ãããããã«ãadditonal_dataã以ä¸ã®ããã«å®ç¾©ãããã additional_data = TLSCiphertext.opaque_type || TLSCipâ¦
èªåã§å®ç¾©ãããã¼ã¿ã®ä¸ã«ã¯ã足ãç®ããããªããããªãã¼ã¿ãããããã¨ãã°ãéä¿¡ã¨åä¿¡ã®ã«ã¦ã³ã¿ã¼ãå®ç¾©ããã¨ãããã data Metrics = Metrics { rx :: Int , ts :: Int } deriving (Eq, Show) ããã¯ä»¥ä¸ã®ããã«è¶³ãç®ã§ããã¨å¬ããã ããã > Meâ¦
TLS 1.3 ãã©ãã24ã§éè¦ãªå¤æ´ã¯1ã¤ã ããã¬ã³ã¼ãã®ãã¼ã¸ã§ã³ããã©ãã23ã§ã¯ ClientHello ã®ã¬ã³ã¼ããã¼ã¸ã§ã³ã¯ 0x0301 (TLS 1.0) ServerHello ã®ã¬ã³ã¼ããã¼ã¸ã§ã³ã¯ 0x0303 (TLS 1.2) ã«å®ãããããããã¯ããã§ããããããããµã¼ããã HelloRâ¦
kazuho ãããå®è£ ãé²ãã¦ãã picotls ã使ãæ¹æ³ã®ã¾ã¨ããpicotls 㯠TLS 1.3 ã®ã¿ãå®è£ ãã¦ãããã¾ãããã©ã«ãã§å©ç¨ã§ãã ECDHE 㯠P256 ã®ã¿ã§ããã ã¤ã³ã¹ãã¼ã« cmakeãå¿ è¦ãªã®ã§ããããããã¤ã³ã¹ãã¼ã«ãã¦ãããmaster ãã©ã³ãã draft â¦
ID23ã§ã®å¤æ´ç¹ï¼ key_shareæ¡å¼µ Canonã®ããªã³ã¿ã¼ã40ã使ã£ã¦ãããã¨ãå¤æããã®ã§ãkey_shareæ¡å¼µã®å¤ã40ãã51ã¸å¤æ´ã signature_algorithms_certæ¡å¼µ signature_algorithmsã«å ãã¦signature_algorithms_certæ¡å¼µãæ°è¨ãããCertificateVerifyç¨â¦