Funzione CryptGetObjectUrl (wincrypt.h)

La funzione CryptGetObjectUrl acquisisce l'URL dell'oggetto remoto da un certificato, un elenco di certificati attendibili (CTL) o un elenco di revoche di certificati (CRL).

La funzione accetta l'oggetto, lo decodifica e fornisce un puntatore a una matrice di URL dall'oggetto . Ad esempio, da un certificato, una lista di distribuzione CRL di URL si troverebbe nella matrice.

Sintassi

BOOL CryptGetObjectUrl(
  [in]      LPCSTR           pszUrlOid,
  [in]      LPVOID           pvPara,
  [in]      DWORD            dwFlags,
  [out]     PCRYPT_URL_ARRAY pUrlArray,
  [in, out] DWORD            *pcbUrlArray,
  [out]     PCRYPT_URL_INFO  pUrlInfo,
  [in, out] DWORD            *pcbUrlInfo,
            LPVOID           pvReserved
);

Parametri

[in] pszUrlOid

Puntatore a un identificatore di oggetto (OID) che identifica l'URL richiesto. Se l'HIWORD del parametro pszUrlOid è zero, loWORD specifica l'identificatore integer per il tipo della struttura specificata.

Questo parametro può avere uno dei valori seguenti. Per informazioni su come questi valori influiscono sul parametro pvPara , vedere l'intestazione "Per il parametro pvPara " nella colonna Significato .

Valore Significato
URL_OID_CERTIFICATE_ISSUER
Fornisce l'URL dell'emittente del certificato recuperato dall'estensione o dalla proprietà di accesso alle informazioni dell'autorità di un certificato.

Per il parametro pvPara : puntatore a una struttura CERT_CONTEXT rilasciata dall'emittente il cui URL viene richiesto.

URL_OID_CERTIFICATE_CRL_DIST_POINT
Fornisce un elenco di URL dei punti di distribuzione CRL recuperati dall'estensione o dalla proprietà del punto di distribuzione CRL di un certificato.

Per il parametro pvPara : puntatore a una struttura CERT_CONTEXT il cui punto di distribuzione CRL è richiesto.

URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP
Fornisce un elenco di URL di PUNTI di distribuzione OCSP e CRL dall'accesso alle informazioni dell'autorità (AIA) e le estensioni o le proprietà del punto di distribuzione CRL di un certificato. La funzione restituisce prima gli URL dei punti di distribuzione CRL. Prima di usare qualsiasi URL OCSP, è necessario rimuovere il prefisso L"ocsp:".

Per il parametro pvPara : puntatore a una struttura CERT_CONTEXT i cui URL del punto di distribuzione OCSP e CRL sono richiesti.

URL_OID_CERTIFICATE_OCSP
Fornisce un URL OCSP dall'estensione o dalla proprietà AIA (Authority Information Access) di un certificato.

Per il parametro pvPara : puntatore a una struttura CERT_CONTEXT il cui URL OCSP è richiesto.

URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT
Fornisce un elenco di URL di PUNTI di distribuzione OCSP e CRL dall'accesso alle informazioni dell'autorità (AIA) e le estensioni o le proprietà del punto di distribuzione CRL di un certificato. La funzione restituisce prima tutti gli URL OCSP. Prima di usare qualsiasi URL OCSP, è necessario rimuovere il prefisso L"ocsp:".

Per il parametro pvPara : puntatore a una struttura CERT_CONTEXT i cui URL del punto di distribuzione OCSP e CRL sono richiesti.

URL_OID_CERTIFICATE_ONLY_OCSP
Fornisce un elenco di URL OCSP dall'estensione o dalla proprietà AIA (Authority Information Access) di un certificato. Prima di usare qualsiasi URL OCSP, è necessario rimuovere il prefisso L"ocsp:".

Per il parametro pvPara : puntatore a una struttura CERT_CONTEXT i cui URL OCSP sono richiesti.

URL_OID_CTL_ISSUER
Fornisce l'URL dell'emittente CTL recuperato da un metodo di attributo di accesso alle informazioni dell'autorità codificato in ogni informazione del firmatario nel CTL PKCS #7.

Per il parametro pvPara : puntatore a una struttura di CTL_CONTEXT indice di firma rilasciata dall'emittente il cui URL, identificato dall'indice del firmatario, viene richiesto.

URL_OID_CTL_NEXT_UPDATE
Fornisce l'URL dell'aggiornamento successivo del CTL recuperato da un'estensione, una proprietà o un metodo di attributo di informazioni sull'accesso alle informazioni sull'autorità.

Per il parametro pvPara : puntatore a una struttura signer index CTL_CONTEXT il cui URL di aggiornamento successivo è richiesto e un indice del firmatario facoltativo, nel caso in cui sia necessario controllare gli attributi delle informazioni del firmatario.

URL_OID_CRL_ISSUER
Fornisce l'URL dell'emittente CRL recuperato da una proprietà in un CRL ereditato dal certificato soggetto (dall'autorità emittente del certificato soggetto o dall'estensione del punto di distribuzione del certificato soggetto). Viene codificato come metodo di estensione dell'accesso alle informazioni dell'autorità.

Per il parametro pvPara : puntatore a una struttura CRL_CONTEXT rilasciata dall'emittente il cui URL è richiesto.

URL_OID_CERTIFICATE_FRESHEST_CRL
Recupera l'estensione o la proprietà CRL più recente del certificato.

Per il parametro pvPara : PCCERT_CONTEXT di un certificato il cui punto di distribuzione CRL più recente viene richiesto.

URL_OID_CRL_FRESHEST_CRL
Recupera l'estensione o la proprietà CRL più recente del CRL.

Per il parametro pvPara : puntatore a una struttura CERT_CRL_CONTEXT_PAIR che contiene il CRL di base di un certificato il cui punto di distribuzione CRL più recente viene richiesto.

URL_OID_CROSS_CERT_DIST_POINT
Recupera l'estensione o la proprietà del punto di distribuzione tra certificati del certificato.

Per il parametro pvPara : PCCERT_CONTEXT di un certificato il cui punto di distribuzione tra certificati viene richiesto.

URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS
Recupera l'estensione o la proprietà cross certificate Subject Information Access del certificato.

Per il parametro pvPara : PCCERT_CONTEXT di un certificato di cui viene richiesto l'accesso alle informazioni sul soggetto tra certificati.

[in] pvPara

Struttura determinata dal valore di pszUrlOid. Per informazioni dettagliate, vedere la descrizione del parametro pszUrlOid .

[in] dwFlags

Set di flag usati per ottenere il localizzatore di URL per un oggetto . Può essere zero o una combinazione di uno o più dei valori seguenti.

Valore Significato
CRYPT_GET_URL_FROM_PROPERTY
Individua l'URL dalla proprietà dell'oggetto (posizione dei dati).
CRYPT_GET_URL_FROM_EXTENSION
Individua l'URL dall'estensione dell'oggetto.
CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE
Individua l'URL da un attributo non autenticato dai dati delle informazioni sul firmatario.
CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE
Individua l'URL da un attributo autenticato dai dati delle informazioni sul firmatario.

[out] pUrlArray

Puntatore a un buffer per ricevere i dati per la voce di valore. Questo parametro può essere NULL per trovare la lunghezza del buffer necessaria per contenere i dati.

Per altre informazioni, vedere Recupero di dati di lunghezza sconosciuta.

[in, out] pcbUrlArray

Puntatore a un DWORD che specifica le dimensioni, in byte, del buffer a cui punta il parametro pUrlArray . Quando la funzione viene restituita, il DWORD contiene il numero di byte archiviati nel buffer. Questo parametro può essere NULL solo se pUrlArray è NULL.

[out] pUrlInfo

Puntatore facoltativo a una struttura CRYPT_URL_INFO che riceve i dati per la voce di valore.

[in, out] pcbUrlInfo

Puntatore a un DWORD che specifica le dimensioni, in byte, del buffer a cui punta il parametro pUrlArray . Quando la funzione viene restituita, il DWORD contiene il numero di byte archiviati nel buffer.

Nota Quando si elaborano i dati restituiti nel buffer, le applicazioni devono usare le dimensioni effettive dei dati restituiti. Le dimensioni effettive possono essere leggermente inferiori alle dimensioni del buffer specificato nell'input. In base all'input, le dimensioni del buffer vengono in genere specificate sufficientemente grandi per garantire che i dati di output più grandi si adattino al buffer. Nell'output la variabile a cui punta questo parametro viene aggiornata in modo da riflettere le dimensioni effettive dei dati copiati nel buffer.
 

pvReserved

Riservato per uso futuro e deve essere NULL.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).

Se la funzione non riesce, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Cryptnet.lib
DLL Cryptnet.dll

Vedi anche

Funzioni di recupero oggetti remoti