PDFjetを用いて以下のように総ページ数を取得していますが、

int CountPage(string filePath)
{
    var pdf = new PDF();
    using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)
    {
        using (var bs = new BufferedStream(fs))
        {
            return pdf.GetPageObjects(pdf.Read(bs)).Count;
        }
    }
}

この書き方だと保護されたPDFを読み込むとReadSystem.IO.InvalidDataException
が発生してしまいます。
保護されたPDFで総ページ数を取得するにはどうすれば良いでしょうか?

もしくは総ページ数を取得するための他のライブラリを教えていただければと思います。
(iTextはライセンスの問題で使えません。MITやBSDなどのライセンスで探しています。)