Scroll to navigation

CMS_GET1_RECEIPTREQUEST(3SSL) OpenSSL CMS_GET1_RECEIPTREQUEST(3SSL)

NUME

CMS_ReceiptRequest_create0_ex, CMS_ReceiptRequest_create0, CMS_add1_ReceiptRequest, CMS_get1_ReceiptRequest, CMS_ReceiptRequest_get0_values - funcțiile de cerere de recipisă semnată de CMS

SINOPSIS

 #include <openssl/cms.h>
 CMS_ReceiptRequest *CMS_ReceiptRequest_create0_ex(
     unsigned char *id, int idlen, int allorfirst,
     STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES) *receiptsTo,
     OSSL_LIB_CTX *libctx);
 CMS_ReceiptRequest *CMS_ReceiptRequest_create0(
     unsigned char *id, int idlen, int allorfirst,
     STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES) *receiptsTo);
 int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr);
 int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr);
 void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, ASN1_STRING **pcid,
                                     int *pallorfirst,
                                     STACK_OF(GENERAL_NAMES) **plist,
                                     STACK_OF(GENERAL_NAMES) **prto);

DESCRIERE

CMS_ReceiptRequest_create0_ex() creează o structură de cerere de recipisă semnată. Câmpul signedContentIdentifier este stabilit folosind id și idlen sau este stabilit la 32 de octeți de date pseudoaleatorii dacă id este NULL. Dacă receiptList este NULL, opțiunea allOrFirstTier din receiptsFrom este utilizată și definită la valoarea parametrului allorfirst. Dacă receiptList nu este NULL, se utilizează opțiunea receiptList din receiptsFrom. Parametrul receiptsTo specifică valoarea câmpului receiptsTo. Contextul bibliotecii libctx este utilizat pentru a găsi generatorul aleatoriu public.

CMS_ReceiptRequest_create0() este similară cu CMS_ReceiptRequest_create0_ex(), dar utilizează valori implicite de NULL pentru contextul bibliotecii libctx.

Funcția CMS_add1_ReceiptRequest() adaugă o cerere de recipisă semnată rr la structura SignerInfo si.

int CMS_get1_ReceiptRequest() caută o cerere de recipisă semnată în si, dacă este găsită, aceasta este decodificată și scrisă în prr.

CMS_ReceiptRequest_get0_values() recuperează valorile unei cereri de recipisă. signedContentIdentifier este copiat în pcid. Dacă se utilizează opțiunea allOrFirstTier din receiptsFrom, valoarea sa este copiată în pallorfirst, în caz contrar câmpul receiptList este copiat în plist. Parametrul receiptsTo este copiat în prto.

NOTE

Pentru mai multe detalii privind semnificația câmpurilor, consultați RFC2634.

Conținutul unei recipise semnate ar trebui să fie considerat semnificativ numai dacă structura CMS_ContentInfo corespunzătoare poate fi verificată cu succes utilizând CMS_verify().

VALORI RETURNATE

CMS_ReceiptRequest_create0_ex() și CMS_ReceiptRequest_create0() returnează o structură de cerere de recipisă semnată sau NULL dacă s-a produs o eroare.

CMS_add1_ReceiptRequest() returnează 1 pentru succes sau 0 dacă a apărut o eroare.

CMS_get1_ReceiptRequest() returnează 1 dacă este găsită și decodificată o cerere de recipisă semnată. Returnează 0 dacă nu este prezentă o cerere de primire semnată și -1 dacă este prezentă, dar nu este corect formată.

CONSULTAȚI ȘI

ERR_get_error(3), CMS_sign(3), CMS_sign_receipt(3), CMS_verify(3) CMS_verify_receipt(3)

ISTORIC

Funcția CMS_ReceiptRequest_create0_ex() a fost adăugată în OpenSSL 3.0.

DREPTURI DE AUTOR

Drepturi de autor 2008-2021 The OpenSSL Project Authors. Toate drepturile rezervate.

Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la <https://www.openssl.org/source/license.html>.

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

10 august 2025 3.5.2