Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Непонятки с DecryptByCert и OpenSSL  [new]
Oran Mor
Member

Откуда:
Сообщений: 2
Всю голову уже сломал, не могу понять отчего не дешифруются данные по DecryptByCert

Создаю X.509 сертификат с шифрованием закрытого ключа паролем "mypass123":

create certificate DBCert_2 encryption by password = N'mypass123'
with SUBJECT = 'DB Certificate', START_DATE = '20000101', EXPIRY_DATE = '50000101'

И выгружаю его в файл:
backup certificate DBCert_2 to file = 'd:\dbcert.cer'

Далее средствами винды перевожу его в Base64-формат.

Шифрую некий файл somedata (допустим пусть там будет "hello world") с помощью opensll используя полученный сертификат.
openssl rsautl -encrypt -certin -inkey dbcert_base64.cer -in somedata -out somedata.enc

Пытаюсь дешифровать somedata.enc
declare @InData varbinary(128), @OutData varbinary(128)

set @InData =
(
    select * from openrowset (bulk 'd:\somedata.enc', SINGLE_BLOB) as BinFile
)

set @OutData = DecryptByCert( Cert_ID( 'DBCert_2' ), @InData, N'mypass123' )
                                   
select @OutData

И в итоге всегда получаю NULL.
Почему так?
11 авг 11, 14:16    [11104046]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с DecryptByCert и OpenSSL  [new]
Oran Mor
Member

Откуда:
Сообщений: 2
Если кто-нибудь ещё натолкнётся на эти же грабли, решение оказалось достаточно простым.
Как оказалось OpenSSL выдает обратный порядок байт. Для корректной работы достаточно обратить выходной файл.
17 авг 11, 10:07    [11130808]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить