Sdílet prostřednictvím


Mapování identifikátorů objektů na algoritmy šifrování

Poznámka:

Tento článek je specifický pro rozhraní .NET Framework. Nevztahuje se na novější implementace .NET, včetně .NET 6 a novějších verzí.

Digitální podpisy zajišťují, že data nebudou manipulována při odesílání z jednoho programu do jiného. Digitální podpis se obvykle vypočítá použitím matematické funkce na hodnotu hash dat, která se mají podepsat. Při formátování hodnoty hash, která má být podepsána, některé algoritmy digitálního podpisu připojují identifikátor objektu ASN.1 (OID) jako součást operace formátování. Identifikátor OID identifikuje algoritmus použitý k výpočtu hodnoty hash. Algoritmy můžete mapovat na identifikátory objektů, abyste rozšířili kryptografický mechanismus tak, aby používaly vlastní algoritmy. Následující příklad ukazuje, jak mapovat identifikátor objektu na nový hashovací algoritmus.

<configuration>
   <mscorlib>
      <cryptographySettings>
         <cryptoNameMapping>
            <cryptoClasses>
               <cryptoClass MyNewHash="MyNewHashClass, MyAssembly
                  Culture='en', PublicKeyToken=a5d015c7d5a0b012,
                  Version=1.0.0.0"/>
            </cryptoClasses>
            <nameEntry name="NewHash" class="MyNewHash"/>
         </cryptoNameMapping>
         <oidMap>
            <oidEntry OID="1.3.14.33.42.46"  name="NewHash"/>
         </oidMap>
      </cryptographySettings>
   </mscorlib>
</configuration>

Element <oidEntry> obsahuje dva atributy. Atribut OID je číslo identifikátoru objektu. Atribut name je hodnota atributu name z elementu <nameEntry>. Aby bylo možné namapovat identifikátor objektu na jednoduchý název, musí existovat mapování z názvu algoritmu na třídu.

Viz také