Domanda

RFC 4880 , un documento che descrive la crittografia OpenPGP Standard, trova le sue radici in RFC 2440 , pubblicato nel 1998 (That's sedici anni fa < / EM>, presumibilmente prima che sia emerso sistemi a 64 bit). Entrambe le specifiche raccontano la stessa cosa su come vengono gestiti i timestamp:

.

3.5 . Campi tempo

Un campo temporale è un numero di quattro ottetto non firmato contenente il numero di secondi trascorsi da mezzanotte, 1 gennaio 1970 UTC.

Dovrebbe tentare di seguire le RFC come più vicino possibile (e, qui, affrontare un dolce Anno 2038 Bug un giorno)? È "rischioso" per uno sviluppatore di non seguire parti di standard / specifiche / RFC (specialmente quando si tratta di crittografia), quando sono già potenzialmente obsoleti?

Sono un po 'paura di chiedere perché la domanda suona sciocca, ma se "implementerò RFC 4880" ma a modo mio, non è più la cosa ufficiale. Quindi, Qual è la cosa migliore che uno sviluppatore dovrebbe fare contro ciò che vede come "obsolete" parti di specifiche? niente?

È stato utile?

Soluzione

Primo: Penso che l'esempio nella tua domanda sia sbagliato. rfc4880 utilizza un intero senza segno a 32 bit.Il problema Y2K38 è un problema per firmato I numeri interi a 32 bit.Secondo Wikipedia, i numeri interi a 32 bit non firmati funzionano fino all'anno 2106. Un po 'più di tempo.

Per rispondere alla tua domanda: Penso che il modo migliore sia di entrare in contatto con il gruppo di lavoro RFC / gli autori della RFC e dire loro dell'obsolescenza.Forse, un RFC di follow-up risolverà quel problema.

Per il tuo esempio, penso che tu possa astenersi dal contattare il WG OpenPGP.Penso che fino al 2106 ci saranno molti aggiornamenti e sospetto i tasti V5 di avere campi di tempo di 8 ottet.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top