.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "fr::crypto::ASN1_TIME_set 3SSL" .TH fr::crypto::ASN1_TIME_set 3SSL "2015-12-31" "1.0.2a 1.0.2c" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" ASN1_TIME_set, ASN1_TIME_adj, ASN1_TIME_check, ASN1_TIME_set_string, ASN1_TIME_print, ASN1_TIME_diff \- Fonctions d’heure \s-1ASN.1\s0 .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fB \s-1ASN1_TIME\s0 *ASN1_TIME_set(\s-1ASN1_TIME\s0 *\fR\fIs\fR\fB, time_t\fR \fIt\fR\fB);\fR \fB\s-1ASN1_TIME\s0 *ASN1_TIME_adj(\s-1ASN1_TIME\s0 *\fR\fIs\fR\fB, time_t\fR \fIt\fR\fB,\fR \fBint\fR \fIoffset_day\fR\fB, long\fR \fIoffset_sec\fR\fB);\fR \fBint ASN1_TIME_set_string(\s-1ASN1_TIME\s0 *\fR\fIs\fR\fB, const char *\fR\fIstr\fR\fB);\fR \fBint ASN1_TIME_check(const \s-1ASN1_TIME\s0 *\fR\fIt\fR\fB);\fR \fBint ASN1_TIME_print(\s-1BIO\s0 *\fR\fIb\fR\fB, const \s-1ASN1_TIME\s0 *\fR\fIs\fR\fB);\fR .PP \&\fB int ASN1_TIME_diff(int *\fR\fIpday\fR\fB, int *\fR\fIpsec\fR\fB,\fR \fBconst \s-1ASN1_TIME\s0 *\fR\fIfrom\fR\fB, const \s-1ASN1_TIME\s0 *\fR\fIto\fR\fB);\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" La fonction \fBASN1_TIME_set\fR() définit la structure \fB\s-1ASN1_TIME\s0\fR \fIs\fR à l’heure représentée par la valeur \fBtime_t\fR \fIt\fR. Si \fIs\fR est \s-1NULL,\s0 une nouvelle structure \fB\s-1ASN1_TIME\s0\fR est allouée et renvoyée. .PP \&\fBASN1_TIME_adj\fR() définit la structure \fB\s-1ASN1_TIME\s0\fR \fIs\fR à l’heure représentée par la valeur \fBtime_t\fR \fIt\fR. Les valeurs de \fIoffset_day\fR ou \&\fIoffset_sec\fR peuvent être négatives pour définir une heure avant \fIt\fR. La valeur \fIoffset_sec\fR peut aussi dépasser le nombre de secondes dans un jour. Si \fIs\fR est \s-1NULL,\s0 une nouvelle structure \fB\s-1ASN1_TIME\s0\fR est allouée et renvoyée. .PP \&\fBASN1_TIME_set_string\fR() définit la structure \fB\s-1ASN1_TIME\s0\fR \fIs\fR à l’heure représentée par la chaîne \fIstr\fR qui doit être dans un format d’heure \s-1ASN.1\s0 approprié (par exemple \s-1AAMMJJHHMMSSZ\s0 ou \s-1AAAAMMJJHHMMSSZ\s0). .PP \&\fBASN1_TIME_check\fR() vérifie la syntaxe de la structure \fB\s-1ASN1_TIME\s0\fR \fIs\fR. .PP \&\fBASN1_TIME_print\fR() affiche l’heure \fIs\fR dans le \s-1BIO \s0\fIb\fR en format lisible. Le format est Mmm \s-1JJ HH:MM:SS AAAA\s0 [\s-1GMT\s0], par exemple « Feb 3 00:55:52 2015 \s-1GMT\s0 », sans changement de ligne. Si la structure de temps a un format incorrect, elle affiche « Bad time value » et renvoie une erreur. .PP \&\fBASN1_TIME_diff\fR() définit \fB*\fR\fIpday\fR et \fB*\fR\fIpsec\fR à la différence d’heure entre \fIfrom\fR et \fIto\fR. Si \fIto\fR représente une heure suivant \&\fIfrom\fR, \fB*\fR\fIpday\fR ou \fB*\fR\fIpsec\fR ou les deux (en fonction de la différence d’heure) seront positives. Si \fIto\fR représente une heure précédent \fIfrom\fR, \fB*\fR\fIpday\fR ou \fB*\fR\fIpsec\fR ou les deux seront négatives. Si \fIto\fR et \fIfrom\fR représentent la même heure, \fB*\fR\fIpday\fR et \&\fB*\fR\fIpsec\fR seront toutes deux nulles. Si \fB*\fR\fIpday\fR et \fB*\fR\fIpsec\fR ne sont pas nulles, elles seront toujours de même signe. La valeur de \fB*\fR\fIpsec\fR sera toujours inférieure au nombre de secondes dans une journée. Si \fIfrom\fR ou \fIto\fR sont \s-1NULL,\s0 l’heure actuelle est utilisée. .SH "NOTES" .IX Header "NOTES" La structure \fB\s-1ASN1_TIME\s0\fR correspond à la structure \fB\s-1ASN.1\s0\fR \fBTime\fR définie dans la \s-1RFC 5280\s0 et suivantes. Les fonctions de définition d’heure obéissent aux règles soulignées dans la \s-1RFC 5280 :\s0 si la date peut être représentée par UTCTime, c’est ce qui est utilisé, sinon GeneralizedTime est utilisé. .PP La structure \fB\s-1ASN1_TIME\s0\fR est représentée par une \fB\s-1ASN1_STRING\s0\fR en interne et peut être libérée en utilisant \fBASN1_STRING_free\fR(). .PP La structure \fB\s-1ASN1_TIME\s0\fR peut représenter des années entre 0000 et 9999 mais aucune correction des modifications de calendrier ancien n’est tentée (par exemple, de calendrier julien en grégorien). .PP Certaines applications ajoutent des heures de décalage directement dans une valeur \fItime_t\fR et passent le résultat à \fBASN1_TIME_set\fR() (ou équivalent). Cela peut poser des problèmes car la valeur \fItime_t\fR peut déborder sur certains systèmes avec pour conséquence des résultats inattendus. Les nouvelles applications devraient utiliser \fBASN1_TIME_adj\fR() à la place et passer la valeur de décalage dans les paramètres \fIoffset_sec\fR et \fIoffset_day\fR au lieu de manipuler directement une valeur \fItime_t\fR. .SH "BOGUES" .IX Header "BOGUES" \&\fBASN1_TIME_print\fR() n’affiche actuellement pas le fuseau horaire : elle affiche soit « \s-1GMT\s0 », soit rien. Tous les certificats sont compatibles avec la \s-1RFC 5280\s0 et utilisent tous \s-1GMT\s0 de toute façon. .SH "EXEMPLES" .IX Header "EXEMPLES" Définir une structure de temps à une heure après l’heure actuelle et l’afficher : .PP .Vb 11 \& #include \& #include \& ASN1_TIME *tm; \& time_t t; \& BIO *b; \& t = time(NULL); \& tm = ASN1_TIME_adj(NULL, t, 0, 60 * 60); \& b = BIO_new_fp(stdout, BIO_NOCLOSE); \& ASN1_TIME_print(b, tm); \& ASN1_STRING_free(tm); \& BIO_free(b); .Ve .PP Déterminer si une heure est après ou avant l’heure actuelle : .PP .Vb 1 \& int day, sec; \& \& if (!ASN1_TIME_diff(&day, &sec, NULL, to)) \& /* Format d’heure incorrect */ \& \& if (day > 0 || sec > 0) \& printf("Après\en"); \& else if (day < 0 || sec < 0) \& printf("Avant\en"); \& else \& printf("Identique\en"); .Ve .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" \&\fBASN1_TIME_set\fR() et \fBASN1_TIME_adj\fR() renvoient un pointeur vers une structure \fB\s-1ASN1_TIME\s0\fR, ou \s-1NULL\s0 si une erreur est survenue. .PP \&\fBASN1_TIME_set_string\fR() renvoie \fB1\fR si la valeur de temps est définie correctement et \fB0\fR sinon. .PP \&\fBASN1_TIME_check\fR() renvoie \fB1\fR si la structure est correcte d’un point de vue syntaxique et \fB0\fR sinon. .PP \&\fBASN1_TIME_print\fR() renvoie \fB1\fR si le temps est affiché correctement et \&\fB0\fR si une erreur est survenue (erreur d’entrée et sortie ou format d’heure incorrect). .PP \&\fBASN1_TIME_diff\fR() renvoie \fB1\fR en cas de réussite et \fB0\fR en cas d’échec. Elle peut échouer si la structure \fB\s-1ASN1_TIME\s0\fR passée a par exemple une syntaxe incorrecte. .SH "TRADUCTION" .IX Header "TRADUCTION" La traduction de cette page de manuel est maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.