|
|
@@ -26,9 +26,15 @@ uses
|
|
|
ClpIDerObjectIdentifier;
|
|
|
|
|
|
type
|
|
|
- TCryptoProObjectIdentifiers = class abstract(TObject)
|
|
|
+ TCryptoProObjectIdentifiers = class sealed(TObject)
|
|
|
|
|
|
strict private
|
|
|
+
|
|
|
+ const
|
|
|
+ // GOST Algorithms OBJECT IDENTIFIERS :
|
|
|
+ // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)}
|
|
|
+ GostID: String = '1.2.643.2.2';
|
|
|
+
|
|
|
class var
|
|
|
|
|
|
FGostR3411, FGostR3410x2001, FGostR3410x94, FGostR28147Cbc,
|
|
|
@@ -42,8 +48,6 @@ type
|
|
|
FGostR3410x2001CryptoProXchA, FGostR3410x2001CryptoProB,
|
|
|
FGostR3410x2001CryptoProC, FGostElSgDH3410x1: IDerObjectIdentifier;
|
|
|
|
|
|
- class constructor CryptoProObjectIdentifiers();
|
|
|
-
|
|
|
class function GetGostR3411: IDerObjectIdentifier; static; inline;
|
|
|
|
|
|
class function GetGostR28147Cbc: IDerObjectIdentifier; static; inline;
|
|
|
@@ -89,12 +93,9 @@ type
|
|
|
class function GetGostR3411x94CryptoProParamSet: IDerObjectIdentifier;
|
|
|
static; inline;
|
|
|
|
|
|
- public
|
|
|
+ class constructor CryptoProObjectIdentifiers();
|
|
|
|
|
|
- const
|
|
|
- // GOST Algorithms OBJECT IDENTIFIERS :
|
|
|
- // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)}
|
|
|
- GostID: String = '1.2.643.2.2';
|
|
|
+ public
|
|
|
|
|
|
class property GostR3411: IDerObjectIdentifier read GetGostR3411;
|
|
|
class property GostR3411Hmac: IDerObjectIdentifier read GetGostR3411Hmac;
|
|
|
@@ -157,54 +158,6 @@ implementation
|
|
|
|
|
|
{ TCryptoProObjectIdentifiers }
|
|
|
|
|
|
-class procedure TCryptoProObjectIdentifiers.Boot;
|
|
|
-begin
|
|
|
- FGostR3411 := TDerObjectIdentifier.Create(GostID + '.9');
|
|
|
- FGostR3411Hmac := TDerObjectIdentifier.Create(GostID + '.10');
|
|
|
-
|
|
|
- FGostR28147Cbc := TDerObjectIdentifier.Create(GostID + '.21');
|
|
|
-
|
|
|
- FID_Gost28147_89_CryptoPro_A_ParamSet := TDerObjectIdentifier.Create
|
|
|
- (GostID + '.31.1');
|
|
|
-
|
|
|
- FGostR3410x94 := TDerObjectIdentifier.Create(GostID + '.20');
|
|
|
- FGostR3410x2001 := TDerObjectIdentifier.Create(GostID + '.19');
|
|
|
- FGostR3411x94WithGostR3410x94 := TDerObjectIdentifier.Create(GostID + '.4');
|
|
|
- FGostR3411x94WithGostR3410x2001 := TDerObjectIdentifier.Create(GostID + '.3');
|
|
|
-
|
|
|
- // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) hashes(30) }
|
|
|
- FGostR3411x94CryptoProParamSet := TDerObjectIdentifier.Create
|
|
|
- (GostID + '.30.1');
|
|
|
-
|
|
|
- // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) signs(32) }
|
|
|
- FGostR3410x94CryptoProA := TDerObjectIdentifier.Create(GostID + '.32.2');
|
|
|
- FGostR3410x94CryptoProB := TDerObjectIdentifier.Create(GostID + '.32.3');
|
|
|
- FGostR3410x94CryptoProC := TDerObjectIdentifier.Create(GostID + '.32.4');
|
|
|
- FGostR3410x94CryptoProD := TDerObjectIdentifier.Create(GostID + '.32.5');
|
|
|
-
|
|
|
- // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) exchanges(33) }
|
|
|
- FGostR3410x94CryptoProXchA := TDerObjectIdentifier.Create(GostID + '.33.1');
|
|
|
- FGostR3410x94CryptoProXchB := TDerObjectIdentifier.Create(GostID + '.33.2');
|
|
|
- FGostR3410x94CryptoProXchC := TDerObjectIdentifier.Create(GostID + '.33.3');
|
|
|
-
|
|
|
- // { iso(1) member-body(2)ru(643) rans(2) cryptopro(2) ecc-signs(35) }
|
|
|
- FGostR3410x2001CryptoProA := TDerObjectIdentifier.Create(GostID + '.35.1');
|
|
|
- FGostR3410x2001CryptoProB := TDerObjectIdentifier.Create(GostID + '.35.2');
|
|
|
- FGostR3410x2001CryptoProC := TDerObjectIdentifier.Create(GostID + '.35.3');
|
|
|
-
|
|
|
- // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) ecc-exchanges(36) }
|
|
|
- FGostR3410x2001CryptoProXchA := TDerObjectIdentifier.Create(GostID + '.36.0');
|
|
|
- FGostR3410x2001CryptoProXchB := TDerObjectIdentifier.Create(GostID + '.36.1');
|
|
|
-
|
|
|
- FGostElSgDH3410Default := TDerObjectIdentifier.Create(GostID + '.36.0');
|
|
|
- FGostElSgDH3410x1 := TDerObjectIdentifier.Create(GostID + '.36.1');
|
|
|
-end;
|
|
|
-
|
|
|
-class constructor TCryptoProObjectIdentifiers.CryptoProObjectIdentifiers;
|
|
|
-begin
|
|
|
- TCryptoProObjectIdentifiers.Boot;
|
|
|
-end;
|
|
|
-
|
|
|
class function TCryptoProObjectIdentifiers.GetGostR3411: IDerObjectIdentifier;
|
|
|
begin
|
|
|
result := FGostR3411;
|
|
|
@@ -348,4 +301,52 @@ begin
|
|
|
result := FID_Gost28147_89_CryptoPro_A_ParamSet;
|
|
|
end;
|
|
|
|
|
|
+class procedure TCryptoProObjectIdentifiers.Boot;
|
|
|
+begin
|
|
|
+ FGostR3411 := TDerObjectIdentifier.Create(GostID + '.9');
|
|
|
+ FGostR3411Hmac := TDerObjectIdentifier.Create(GostID + '.10');
|
|
|
+
|
|
|
+ FGostR28147Cbc := TDerObjectIdentifier.Create(GostID + '.21');
|
|
|
+
|
|
|
+ FID_Gost28147_89_CryptoPro_A_ParamSet := TDerObjectIdentifier.Create
|
|
|
+ (GostID + '.31.1');
|
|
|
+
|
|
|
+ FGostR3410x94 := TDerObjectIdentifier.Create(GostID + '.20');
|
|
|
+ FGostR3410x2001 := TDerObjectIdentifier.Create(GostID + '.19');
|
|
|
+ FGostR3411x94WithGostR3410x94 := TDerObjectIdentifier.Create(GostID + '.4');
|
|
|
+ FGostR3411x94WithGostR3410x2001 := TDerObjectIdentifier.Create(GostID + '.3');
|
|
|
+
|
|
|
+ // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) hashes(30) }
|
|
|
+ FGostR3411x94CryptoProParamSet := TDerObjectIdentifier.Create
|
|
|
+ (GostID + '.30.1');
|
|
|
+
|
|
|
+ // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) signs(32) }
|
|
|
+ FGostR3410x94CryptoProA := TDerObjectIdentifier.Create(GostID + '.32.2');
|
|
|
+ FGostR3410x94CryptoProB := TDerObjectIdentifier.Create(GostID + '.32.3');
|
|
|
+ FGostR3410x94CryptoProC := TDerObjectIdentifier.Create(GostID + '.32.4');
|
|
|
+ FGostR3410x94CryptoProD := TDerObjectIdentifier.Create(GostID + '.32.5');
|
|
|
+
|
|
|
+ // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) exchanges(33) }
|
|
|
+ FGostR3410x94CryptoProXchA := TDerObjectIdentifier.Create(GostID + '.33.1');
|
|
|
+ FGostR3410x94CryptoProXchB := TDerObjectIdentifier.Create(GostID + '.33.2');
|
|
|
+ FGostR3410x94CryptoProXchC := TDerObjectIdentifier.Create(GostID + '.33.3');
|
|
|
+
|
|
|
+ // { iso(1) member-body(2)ru(643) rans(2) cryptopro(2) ecc-signs(35) }
|
|
|
+ FGostR3410x2001CryptoProA := TDerObjectIdentifier.Create(GostID + '.35.1');
|
|
|
+ FGostR3410x2001CryptoProB := TDerObjectIdentifier.Create(GostID + '.35.2');
|
|
|
+ FGostR3410x2001CryptoProC := TDerObjectIdentifier.Create(GostID + '.35.3');
|
|
|
+
|
|
|
+ // { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) ecc-exchanges(36) }
|
|
|
+ FGostR3410x2001CryptoProXchA := TDerObjectIdentifier.Create(GostID + '.36.0');
|
|
|
+ FGostR3410x2001CryptoProXchB := TDerObjectIdentifier.Create(GostID + '.36.1');
|
|
|
+
|
|
|
+ FGostElSgDH3410Default := TDerObjectIdentifier.Create(GostID + '.36.0');
|
|
|
+ FGostElSgDH3410x1 := TDerObjectIdentifier.Create(GostID + '.36.1');
|
|
|
+end;
|
|
|
+
|
|
|
+class constructor TCryptoProObjectIdentifiers.CryptoProObjectIdentifiers;
|
|
|
+begin
|
|
|
+ TCryptoProObjectIdentifiers.Boot;
|
|
|
+end;
|
|
|
+
|
|
|
end.
|