⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x509_name_get_index_by_nid.pod

📁 开源的ssl算法openssl,版本0.9.8H
💻 POD
字号:
=pod=head1 NAMEX509_NAME_get_index_by_NID, X509_NAME_get_index_by_OBJ, X509_NAME_get_entry,X509_NAME_entry_count, X509_NAME_get_text_by_NID, X509_NAME_get_text_by_OBJ -X509_NAME lookup and enumeration functions=head1 SYNOPSISint X509_NAME_get_index_by_NID(X509_NAME *name,int nid,int lastpos);int X509_NAME_get_index_by_OBJ(X509_NAME *name,ASN1_OBJECT *obj, int lastpos);int X509_NAME_entry_count(X509_NAME *name);X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc);int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf,int len);int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, char *buf,int len);=head1 DESCRIPTIONThese functions allow an B<X509_NAME> structure to be examined. TheB<X509_NAME> structure is the same as the B<Name> type defined inRFC2459 (and elsewhere) and used for example in certificate subjectand issuer names.X509_NAME_get_index_by_NID() and X509_NAME_get_index_by_OBJ() retrievethe next index matching B<nid> or B<obj> after B<lastpos>. B<lastpos>should initially be set to -1. If there are no more entries -1 is returned.X509_NAME_entry_count() returns the total number of entries in B<name>.X509_NAME_get_entry() retrieves the B<X509_NAME_ENTRY> from B<name>corresponding to index B<loc>. Acceptable values for B<loc> run from0 to (X509_NAME_entry_count(name) - 1). The value returned is aninternal pointer which must not be freed.X509_NAME_get_text_by_NID(), X509_NAME_get_text_by_OBJ() retrievethe "text" from the first entry in B<name> which matches B<nid> orB<obj>, if no such entry exists -1 is returned. At most B<len> byteswill be written and the text written to B<buf> will be nullterminated. The length of the output string written is returnedexcluding the terminating null. If B<buf> is <NULL> then the amountof space needed in B<buf> (excluding the final null) is returned. =head1 NOTESX509_NAME_get_text_by_NID() and X509_NAME_get_text_by_OBJ() arelegacy functions which have various limitations which make themof minimal use in practice. They can only find the first matchingentry and will copy the contents of the field verbatim: this canbe highly confusing if the target is a muticharacter string typelike a BMPString or a UTF8String.For a more general solution X509_NAME_get_index_by_NID() orX509_NAME_get_index_by_OBJ() should be used followed byX509_NAME_get_entry() on any matching indices and then thevarious B<X509_NAME_ENTRY> utility functions on the result.=head1 EXAMPLESProcess all entries: int i; X509_NAME_ENTRY *e; for (i = 0; i < X509_NAME_entry_count(nm); i++)	{	e = X509_NAME_get_entry(nm, i);	/* Do something with e */	}Process all commonName entries: int loc; X509_NAME_ENTRY *e; loc = -1; for (;;)	{	lastpos = X509_NAME_get_index_by_NID(nm, NID_commonName, lastpos);	if (lastpos == -1)		break;	e = X509_NAME_get_entry(nm, lastpos);	/* Do something with e */	}=head1 RETURN VALUESX509_NAME_get_index_by_NID() and X509_NAME_get_index_by_OBJ()return the index of the next matching entry or -1 if not found.X509_NAME_entry_count() returns the total number of entries.X509_NAME_get_entry() returns an B<X509_NAME> pointer to therequested entry or B<NULL> if the index is invalid.=head1 SEE ALSOL<ERR_get_error(3)|ERR_get_error(3)>, L<d2i_X509_NAME(3)|d2i_X509_NAME(3)>=head1 HISTORYTBA=cut

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -