SignByCert和最大符号大小

时间:2009-05-22 08:11:04

标签: sql-server-2005 encryption

我有下表

CREATE TABLE User (
    email sysname NOT NULL,
    sign varbinary(256) NULL
);
SQL Server 2005/2008中的

sysname与nvarchar(128)具有相同的大小 - 我假设它是256字节。

我正在使用SignByCert(...,email,...)函数生成“email”列的签名。

我可以对[sign]列的最大大小做出任何假设吗?

1 个答案:

答案 0 :(得分:2)

找到它。

根据第160页的“Accelerated SQL Server 2008”一书 - siganture的大小取决于证书中私钥的大小。

如果大小为2048位,则签名大小为256字节。如果大小为1024位,则签名大小为128字节。

在我的情况下,我使用CREATE CERTIFICATE TSQL语句创建证书,并且 - 根据SQL Server联机丛书:

  

SQL Server生成的私钥   是1024位长

所以我的签名列的最大大小是128个字节。