CryptStringToBinary() приватный Метод

private CryptStringToBinary ( string sPEM, UInt32 sPEMLength, CRYPT_STRING_FLAGS dwFlags, [ pbBinary, UInt32 &pcbBinary, UInt32 &pdwSkip, UInt32 &pdwFlags ) : bool
sPEM string
sPEMLength System.UInt32
dwFlags CRYPT_STRING_FLAGS
pbBinary [
pcbBinary System.UInt32
pdwSkip System.UInt32
pdwFlags System.UInt32
Результат bool
        /// <summary>Extracts the binary data from a PEM file.</summary>
        internal static byte[] GetDERFromPEM(string sPEM)
        {
            UInt32 dwSkip, dwFlags;
            UInt32 dwBinarySize = 0;

            if (!RSACryptoServiceProviderExtension.CryptStringToBinary(sPEM, (UInt32)sPEM.Length, CRYPT_STRING_FLAGS.CRYPT_STRING_BASE64HEADER, null, ref dwBinarySize, out dwSkip, out dwFlags))
            {
                throw new Win32Exception(Marshal.GetLastWin32Error());
            }

            byte[] decodedData = new byte[dwBinarySize];
            if (!RSACryptoServiceProviderExtension.CryptStringToBinary(sPEM, (UInt32)sPEM.Length, CRYPT_STRING_FLAGS.CRYPT_STRING_BASE64HEADER, decodedData, ref dwBinarySize, out dwSkip, out dwFlags))
            {
                throw new Win32Exception(Marshal.GetLastWin32Error());
            }
            return(decodedData);
        }