コード例 #1
0
 /// <summary>
 /// When finished with a <see cref="RsaKeyWrapProvider"/> call this method for cleanup."/>
 /// </summary>
 /// <param name="provider"><see cref="RsaKeyWrapProvider"/> to be released.</param>
 public virtual void ReleaseRsaKeyWrapProvider(RsaKeyWrapProvider provider)
 {
     if (provider == null)
     {
         throw LogHelper.LogArgumentNullException(nameof(provider));
     }
     else if (CustomCryptoProvider != null && CustomCryptoProvider.IsSupportedAlgorithm(provider.Algorithm))
     {
         CustomCryptoProvider.Release(provider);
     }
     else
     {
         provider.Dispose();
     }
 }
コード例 #2
0
 /// <summary>
 /// When finished with a <see cref="SignatureProvider"/> call this method for cleanup. The default behavior is to call <see cref="SignatureProvider.Dispose()"/>
 /// </summary>
 /// <param name="signatureProvider"><see cref="SignatureProvider"/> to be released.</param>
 public virtual void ReleaseSignatureProvider(SignatureProvider signatureProvider)
 {
     if (signatureProvider == null)
     {
         throw LogHelper.LogArgumentNullException(nameof(signatureProvider));
     }
     else if (CustomCryptoProvider != null && CustomCryptoProvider.IsSupportedAlgorithm(signatureProvider.Algorithm))
     {
         CustomCryptoProvider.Release(signatureProvider);
     }
     else if (signatureProvider.CryptoProviderCache == null)
     {
         signatureProvider.Dispose();
     }
 }
コード例 #3
0
 /// <summary>
 /// When finished with a <see cref="HashAlgorithm"/> call this method for cleanup. The default behavior is to call <see cref="HashAlgorithm.Dispose()"/>
 /// </summary>
 /// <param name="hashAlgorithm"><see cref="HashAlgorithm"/> to be released.</param>
 public virtual void ReleaseHashAlgorithm(HashAlgorithm hashAlgorithm)
 {
     if (hashAlgorithm == null)
     {
         throw LogHelper.LogArgumentNullException(nameof(hashAlgorithm));
     }
     else if (CustomCryptoProvider != null && _typeToAlgorithmMap.TryGetValue(hashAlgorithm.GetType().ToString(), out var algorithm) && CustomCryptoProvider.IsSupportedAlgorithm(algorithm))
     {
         CustomCryptoProvider.Release(hashAlgorithm);
     }
     else
     {
         hashAlgorithm.Dispose();
     }
 }