rucades 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/rucades/cplib/Blob.h +205 -163
- data/ext/rucades/cplib/CPPEnrollEnumerations.h +603 -0
- data/ext/rucades/cplib/DateTime.h +506 -455
- data/ext/rucades/cplib/StringProxy.h +229 -187
- data/ext/rucades/cplib/cpstldll.h +225 -0
- data/ext/rucades/extconf.rb +28 -12
- data/ext/rucades/rucades_about.cpp +3 -3
- data/ext/rucades/rucades_about.h +1 -1
- data/ext/rucades/rucades_algorithm.cpp +2 -2
- data/ext/rucades/rucades_algorithm.h +2 -2
- data/ext/rucades/rucades_attribute.cpp +3 -3
- data/ext/rucades/rucades_attribute.h +2 -2
- data/ext/rucades/rucades_attributes.cpp +2 -2
- data/ext/rucades/rucades_attributes.h +2 -2
- data/ext/rucades/rucades_basic_constraints.cpp +3 -3
- data/ext/rucades/rucades_basic_constraints.h +2 -2
- data/ext/rucades/rucades_blobs.cpp +3 -3
- data/ext/rucades/rucades_blobs.h +2 -2
- data/ext/rucades/rucades_certificate.cpp +3 -3
- data/ext/rucades/rucades_certificate.h +2 -2
- data/ext/rucades/rucades_certificate_status.cpp +2 -2
- data/ext/rucades/rucades_certificate_status.h +2 -2
- data/ext/rucades/rucades_certificates.cpp +8 -8
- data/ext/rucades/rucades_certificates.h +2 -2
- data/ext/rucades/rucades_crl.cpp +1 -1
- data/ext/rucades/rucades_crl.h +1 -1
- data/ext/rucades/rucades_eku.cpp +2 -2
- data/ext/rucades/rucades_eku.h +2 -2
- data/ext/rucades/rucades_ekus.cpp +3 -3
- data/ext/rucades/rucades_ekus.h +2 -2
- data/ext/rucades/rucades_encoded_data.cpp +1 -1
- data/ext/rucades/rucades_encoded_data.h +1 -1
- data/ext/rucades/rucades_enveloped_data.cpp +1 -1
- data/ext/rucades/rucades_enveloped_data.h +1 -1
- data/ext/rucades/rucades_extended_key_usage.cpp +2 -2
- data/ext/rucades/rucades_extended_key_usage.h +2 -2
- data/ext/rucades/rucades_hashed_data.cpp +1 -1
- data/ext/rucades/rucades_hashed_data.h +1 -1
- data/ext/rucades/rucades_key_usage.cpp +3 -3
- data/ext/rucades/rucades_key_usage.h +2 -2
- data/ext/rucades/rucades_oid.cpp +3 -3
- data/ext/rucades/rucades_oid.h +2 -2
- data/ext/rucades/rucades_private_key.cpp +3 -3
- data/ext/rucades/rucades_private_key.h +2 -2
- data/ext/rucades/rucades_public_key.cpp +2 -2
- data/ext/rucades/rucades_public_key.h +2 -2
- data/ext/rucades/rucades_raw_signature.cpp +2 -2
- data/ext/rucades/rucades_raw_signature.h +2 -2
- data/ext/rucades/rucades_recipients.cpp +2 -2
- data/ext/rucades/rucades_recipients.h +2 -2
- data/ext/rucades/rucades_signature_status.cpp +2 -2
- data/ext/rucades/rucades_signature_status.h +2 -2
- data/ext/rucades/rucades_signed_data.cpp +7 -7
- data/ext/rucades/rucades_signed_data.h +1 -1
- data/ext/rucades/rucades_signed_xml.cpp +2 -2
- data/ext/rucades/rucades_signed_xml.h +1 -1
- data/ext/rucades/rucades_signer.cpp +8 -8
- data/ext/rucades/rucades_signer.h +2 -2
- data/ext/rucades/rucades_signers.cpp +2 -2
- data/ext/rucades/rucades_signers.h +2 -2
- data/ext/rucades/rucades_store.cpp +2 -2
- data/ext/rucades/rucades_store.h +1 -1
- data/ext/rucades/rucades_symmetric_algorithm.cpp +3 -3
- data/ext/rucades/rucades_symmetric_algorithm.h +2 -2
- data/ext/rucades/rucades_version.cpp +2 -2
- data/ext/rucades/rucades_version.h +2 -2
- data/ext/rucades/stdafx.h +207 -121
- data/lib/rucades/version.rb +1 -1
- data/samples/encrypt_decrypt.rb +17 -14
- data/samples/sign_verify.rb +14 -17
- data/sig/rucades.rbs +850 -1
- metadata +3 -4
- data/ext/rucades/cpstldll.h +0 -183
- data/ext/rucades/errormsg.cpp +0 -561
- data/ext/rucades/errormsg.h +0 -31
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f20012edbe79078d7c40337eae415bcb8b2aa8cc59c57052dc5a139b40ea5c44
|
|
4
|
+
data.tar.gz: d81d7c13b4b0a43886dd1c8156aec45f68fc2e30299125bd45f74fa03d9adddc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4922167b9c9172f743806818a31b115ceb235177c3af6772873c40620711286ab499ad0ad4ec6c7db431398eda27a4be448166adf2f3089d3778b6f7d4171334
|
|
7
|
+
data.tar.gz: c482394a102b42cb6f78addb317f3ed014c7c7ef080e4e83af1974c36b60145dbea1ff04fb1af418eee83c210749f7f7909370d4b908846c7d56d549a019c0c8
|
data/ext/rucades/cplib/Blob.h
CHANGED
|
@@ -1,26 +1,68 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright(
|
|
2
|
+
* Copyright (c) 2026, компания КриптоПро
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Разрешается повторное распространение и использование как в виде исходного
|
|
5
|
+
* кода, так и в двоичной форме, с изменениями или без, при соблюдении
|
|
6
|
+
* следующих условий:
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
8
|
+
* 1) При повторном распространении исходного кода должно оставаться
|
|
9
|
+
* указанное выше уведомление об авторском праве, этот список условий
|
|
10
|
+
* и последующий отказ от гарантий.
|
|
11
|
+
*
|
|
12
|
+
* 2) При повторном распространении двоичного кода должна сохраняться
|
|
13
|
+
* указанная выше информация об авторском праве, этот список условий
|
|
14
|
+
* и последующий отказ от гарантий в документации и/или в других материалах,
|
|
15
|
+
* поставляемых при распространении.
|
|
16
|
+
*
|
|
17
|
+
* ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА БЕСПЛАТНО ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ
|
|
18
|
+
* ДРУГИМИ СТОРОНАМИ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ
|
|
19
|
+
* ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ПОДРАЗУМЕВАЕМЫЕ
|
|
20
|
+
* ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. НИ В КОЕМ
|
|
21
|
+
* СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ СООТВЕТСТВУЮЩИМ ЗАКОНОМ, ИЛИ НЕ УСТАНОВЛЕНО В
|
|
22
|
+
* УСТНОЙ ФОРМЕ, НИ ОДИН ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ
|
|
23
|
+
* МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО СКАЗАНО
|
|
24
|
+
* ВЫШЕ, НЕ НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ
|
|
25
|
+
* ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ВСЛЕДСТВИЕ ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ
|
|
26
|
+
* ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ,
|
|
27
|
+
* ИЛИ ДАННЫМИ, СТАВШИМИ НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ, ПРИНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ
|
|
28
|
+
* ТРЕТЬИХ ЛИЦ, ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ),
|
|
29
|
+
* ДАЖЕ ЕСЛИ ТАКОЙ ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ
|
|
30
|
+
* ТАКИХ УБЫТКОВ.
|
|
31
|
+
*
|
|
32
|
+
* Copyright (c) 2026, CryptoPro Company All rights reserved.
|
|
33
|
+
*
|
|
34
|
+
* Redistribution and use in source and binary forms, with or without
|
|
35
|
+
* modification, are permitted provided that the following conditions are met:
|
|
36
|
+
*
|
|
37
|
+
* 1) Redistributions of source code must retain the above copyright notice,
|
|
38
|
+
* this list of conditions and the following disclaimer.
|
|
20
39
|
*
|
|
21
|
-
*
|
|
40
|
+
* 2) Redistributions in binary form must reproduce the above copyright notice,
|
|
41
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
42
|
+
* and/or other materials provided with the distribution.
|
|
43
|
+
*
|
|
44
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
45
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
46
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
47
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
48
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
49
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
50
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
51
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
52
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
53
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
54
|
+
* THE POSSIBILITY OF SUCH DAMAGE.
|
|
22
55
|
*/
|
|
23
56
|
|
|
57
|
+
/*!
|
|
58
|
+
* \file $RCSfile$
|
|
59
|
+
* \version $Revision$
|
|
60
|
+
* \date $Date:: $
|
|
61
|
+
* \author $Author$
|
|
62
|
+
*
|
|
63
|
+
* \brief Класс блоба.
|
|
64
|
+
*/
|
|
65
|
+
|
|
24
66
|
#ifndef _CPLIB_BLOB_H_INCLUDED
|
|
25
67
|
#define _CPLIB_BLOB_H_INCLUDED
|
|
26
68
|
|
|
@@ -30,162 +72,162 @@
|
|
|
30
72
|
|
|
31
73
|
namespace CryptoPro {
|
|
32
74
|
|
|
33
|
-
/**
|
|
34
|
-
* \class CBlob Blob.h <cplib/Blob.h>
|
|
35
|
-
* \brief �������� ������������������ ������������ �����.
|
|
36
|
-
*
|
|
37
|
-
* ����� ������������ ��� �������� �������� ������������������.
|
|
38
|
-
* ����� �������������� ��� ��� �������� �������������� ASN.1 ��������,
|
|
39
|
-
* ��� � ��� �������� ������������ �������� ������.
|
|
40
|
-
*
|
|
41
|
-
*/
|
|
42
|
-
class CPLIB_CLASS CBlob
|
|
43
|
-
{
|
|
44
|
-
public:
|
|
45
|
-
/// ������� ������ ������
|
|
46
|
-
CBlob();
|
|
47
75
|
/**
|
|
48
|
-
* \
|
|
76
|
+
* \class CBlob Blob.h <cplib/Blob.h>
|
|
77
|
+
* \brief Двоичная последовательность произвольной длины.
|
|
49
78
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* ������ � �������� �� ���� �� ���������� � ��������� ptr �����.
|
|
54
|
-
*/
|
|
55
|
-
CBlob(const unsigned char *ptr, unsigned long length );
|
|
56
|
-
/**
|
|
57
|
-
* \brief ������� ������
|
|
79
|
+
* Класс предназначен для хранения двоичной последовательности.
|
|
80
|
+
* Может использоваться как для хранения закодированных ASN.1 структур,
|
|
81
|
+
* так и для хранения произвольных двоичных данных.
|
|
58
82
|
*
|
|
59
|
-
* \param length [in] ����� ������ � ������
|
|
60
|
-
* \remarks ��� ������������� ������ ������� ��������� ���������� ������
|
|
61
|
-
* ��� ������.
|
|
62
83
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
84
|
+
class CPLIB_CLASS CBlob
|
|
85
|
+
{
|
|
86
|
+
public:
|
|
87
|
+
/// Создает пустой объект
|
|
88
|
+
CBlob();
|
|
89
|
+
/**
|
|
90
|
+
* \brief Создает и инициализирует объект
|
|
91
|
+
*
|
|
92
|
+
* \param ptr [in] указатель на начало данных помещаемых в объект
|
|
93
|
+
* \param length [in] длина данных в байтах
|
|
94
|
+
* \remarks При инициализации объект отводит память под хранимые
|
|
95
|
+
* данные и копирует их туда из указанного в агрументе ptr места.
|
|
96
|
+
*/
|
|
97
|
+
CBlob(const unsigned char* ptr, unsigned long length);
|
|
98
|
+
/**
|
|
99
|
+
* \brief Создает объект
|
|
100
|
+
*
|
|
101
|
+
* \param length [in] длина данных в байтах
|
|
102
|
+
* \remarks При инициализации объект отводит указанное количество памяти
|
|
103
|
+
* под данные.
|
|
104
|
+
*/
|
|
105
|
+
CBlob(unsigned long length);
|
|
106
|
+
/// Уничтожает объект.
|
|
107
|
+
~CBlob();
|
|
66
108
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
109
|
+
/**
|
|
110
|
+
* \brief Создает копию заданного объекта.
|
|
111
|
+
*
|
|
112
|
+
* \param src [in] объект, копия которого создается
|
|
113
|
+
*/
|
|
114
|
+
CBlob(const CBlob& src);
|
|
115
|
+
/**
|
|
116
|
+
* \brief Копирует заданный объект в текущий.
|
|
117
|
+
*
|
|
118
|
+
* \param src [in] объект, который копируется в текущий
|
|
119
|
+
* \return Ссылка на текущий объект.
|
|
120
|
+
*/
|
|
121
|
+
CBlob& operator=(const CBlob& src);
|
|
80
122
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
123
|
+
/**
|
|
124
|
+
* \brief Операция конкатенации (присоединения).
|
|
125
|
+
*
|
|
126
|
+
* \param right [in] объект, присоединяемый к текущему
|
|
127
|
+
* \remarks При выполнении этой операции в конец текущего объекта присоединяются
|
|
128
|
+
* данные, скопированные из заданного объекта.
|
|
129
|
+
* \return Ссылка на текущий объект.
|
|
130
|
+
*/
|
|
131
|
+
CBlob& operator+=(const CBlob& right);
|
|
132
|
+
/**
|
|
133
|
+
* \brief Операция проверки на равенство.
|
|
134
|
+
*
|
|
135
|
+
* \param src [in] объект для сравнения
|
|
136
|
+
* \remarks Производится побитовое сравнение объектов.
|
|
137
|
+
* \return true в случае равенства, false в другом случае.
|
|
138
|
+
*/
|
|
139
|
+
bool operator==(const CBlob& src) const;
|
|
140
|
+
/**
|
|
141
|
+
* \brief Операция проверки на неравенство.
|
|
142
|
+
*
|
|
143
|
+
* \param src [in] объект для сравнения
|
|
144
|
+
* \remarks Производится побитовое сравнение объектов.
|
|
145
|
+
* \return true в случае неравенства, false в другом случае.
|
|
146
|
+
*/
|
|
147
|
+
bool operator!=(const CBlob& src) const;
|
|
148
|
+
/**
|
|
149
|
+
* \brief Операция лексикографического сравнения (меньше).
|
|
150
|
+
*
|
|
151
|
+
* \param src [in] объект для сравнения
|
|
152
|
+
* \return true в случае если текущий объект меньше, false в другом случае.
|
|
153
|
+
*/
|
|
154
|
+
bool operator<(const CBlob& src) const;
|
|
155
|
+
/**
|
|
156
|
+
* \brief Операция лексикографического сравнения (меньше или равно).
|
|
157
|
+
*
|
|
158
|
+
* \param src [in] объект для сравнения
|
|
159
|
+
* \return true в случае если текущий объект меньше или равен, false в другом случае.
|
|
160
|
+
*/
|
|
161
|
+
bool operator<=(const CBlob& src) const;
|
|
162
|
+
/**
|
|
163
|
+
* \brief Операция лексикографического сравнения (больше).
|
|
164
|
+
*
|
|
165
|
+
* \param src [in] объект для сравнения
|
|
166
|
+
* \return true в случае если текущий объект больше, false в другом случае.
|
|
167
|
+
*/
|
|
168
|
+
bool operator>(const CBlob& src) const;
|
|
169
|
+
/**
|
|
170
|
+
* \brief Операция лексикографического сравнения (больше или равно).
|
|
171
|
+
*
|
|
172
|
+
* \param src [in] объект для сравнения
|
|
173
|
+
* \return true в случае если текущий объект больше или равен, false в другом случае.
|
|
174
|
+
*/
|
|
175
|
+
bool operator>=(const CBlob& src) const;
|
|
134
176
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
177
|
+
/**
|
|
178
|
+
* \brief Изменение размера объекта.
|
|
179
|
+
*
|
|
180
|
+
* \param length [in] новая длина данных
|
|
181
|
+
* \remarks Если length больше текущей длины, то старые данные
|
|
182
|
+
* в позициях от нуля до текущей длины не меняют своего значения.
|
|
183
|
+
* Если length меньше текущей длины, то сохраняются данные на
|
|
184
|
+
* позициях от 0 до length-1.
|
|
185
|
+
*/
|
|
186
|
+
void resize_to(unsigned long length);
|
|
187
|
+
/**
|
|
188
|
+
* \brief Операция обмена объектов.
|
|
189
|
+
*
|
|
190
|
+
* \param right [in] объект для обмена
|
|
191
|
+
* \remarks Функция не генерирует исключений.
|
|
192
|
+
*/
|
|
193
|
+
void swap(CBlob& right) throw();
|
|
194
|
+
/// Инвертирование порядка байт данных.
|
|
195
|
+
void reverse();
|
|
196
|
+
/**
|
|
197
|
+
* \brief Очищение объекта
|
|
198
|
+
*
|
|
199
|
+
* Объект очищается и становится нулевой длины
|
|
200
|
+
*/
|
|
201
|
+
void clear();
|
|
202
|
+
/**
|
|
203
|
+
* \brief Помещение данных в объект
|
|
204
|
+
*
|
|
205
|
+
* \param ptr [in] указатель на начало данных
|
|
206
|
+
* \param length [in] длина данных
|
|
207
|
+
*/
|
|
208
|
+
void assign(const unsigned char* ptr, unsigned long length);
|
|
209
|
+
void readFromFile(const char* name);
|
|
210
|
+
void writeToFile(const char* name) const;
|
|
211
|
+
void readFromFile(const wchar_t* name);
|
|
212
|
+
void writeToFile(const wchar_t* name) const;
|
|
213
|
+
void readFromHexString(const char* str);
|
|
214
|
+
CStringProxy writeToHexString(unsigned long SpaceInterval = 0) const;
|
|
173
215
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
private:
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
};
|
|
216
|
+
unsigned long cbData() const;
|
|
217
|
+
unsigned char* pbData() const;
|
|
218
|
+
private:
|
|
219
|
+
unsigned long m_cbData;
|
|
220
|
+
unsigned char* m_pbData;
|
|
221
|
+
};
|
|
180
222
|
|
|
181
|
-
// VS2008 bug/feature:
|
|
182
|
-
// (
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
EXPIMP_CDLLLIST_ITERATORS(CBlob, CPLIB_EXTERN_TEMPLATE, CPLIB_CLASS);
|
|
223
|
+
// VS2008 bug/feature: Экспорт инстанцированных шаблонов вложенных классов
|
|
224
|
+
// (здесь - итераторов) должен предварять экспорт инстанцированного шаблона
|
|
225
|
+
// внешнего класса (здесь - CDllList<>), иначе из DLL не будут экспортированы
|
|
226
|
+
// методы вложенных классов.
|
|
227
|
+
EXPIMP_CDLLLIST_ITERATORS(CBlob, CPLIB_EXTERN_TEMPLATE, CPLIB_CLASS);
|
|
186
228
|
|
|
187
|
-
///
|
|
188
|
-
class CPLIB_CLASS CBlobList: public CDllList<CBlob> {};
|
|
229
|
+
/// Список объектов CBlob
|
|
230
|
+
class CPLIB_CLASS CBlobList : public CDllList<CBlob> {};
|
|
189
231
|
|
|
190
232
|
} // namespace CryptoPro
|
|
191
233
|
|