Create
Содержание
[
Скрывать
]Create(byte[], SecureString)
СоздаетCertificateHolder
объект, использующий массив байтов хранилища PKCS12 и его пароль.
public static CertificateHolder Create(byte[] certBytes, SecureString password)
Параметр | Тип | Описание |
---|---|---|
certBytes | Byte[] | Массив байтов, содержащий данные из сертификата X.509. |
password | SecureString | Пароль, необходимый для доступа к данным сертификата X.509. |
Возвращаемое значение
ПримерCertificateHolder
Исключения
исключение | условие |
---|---|
InvalidParameterException | Выбрасывается, еслиcertBytes являетсянулевой |
InvalidParameterException | Выбрасывается, еслиpassword являетсянулевой |
SecurityException | Выдается, если хранилище PKCS12 не содержит псевдонимов. |
IOException | Выдается, если указан неверный пароль или поврежден файл. |
Примеры
Показывает, как создавать объекты CertificateHolder.
// Ниже приведены четыре способа создания объектов CertificateHolder.
// 1 — загрузить файл PKCS #12 в массив байтов и применить к нему пароль:
byte[] certBytes = File.ReadAllBytes(MyDir + "morzal.pfx");
CertificateHolder.Create(certBytes, "aw");
// 2 — Загрузите файл PKCS #12 в массив байтов и примените безопасный пароль:
SecureString password = new NetworkCredential("", "aw").SecurePassword;
CertificateHolder.Create(certBytes, password);
// Если сертификат имеет закрытые ключи, соответствующие псевдонимам,
// мы можем использовать псевдонимы для получения соответствующих ключей. Сначала мы проверим допустимые псевдонимы.
using (FileStream certStream = new FileStream(MyDir + "morzal.pfx", FileMode.Open))
{
Pkcs12Store pkcs12Store = new Pkcs12StoreBuilder().Build();
pkcs12Store.Load(certStream, "aw".ToCharArray());
IEnumerator enumerator = pkcs12Store.Aliases.GetEnumerator();
while (enumerator.MoveNext())
{
if (enumerator.Current != null)
{
string currentAlias = enumerator.Current.ToString();
if (pkcs12Store.IsKeyEntry(currentAlias) && pkcs12Store.GetKey(currentAlias).Key.IsPrivate)
{
Console.WriteLine($"Valid alias found: {enumerator.Current}");
}
}
}
}
// 3 – Используйте действительный псевдоним:
CertificateHolder.Create(MyDir + "morzal.pfx", "aw", "c20be521-11ea-4976-81ed-865fbbfc9f24");
// 4 — передать «null» в качестве псевдонима, чтобы использовать первый доступный псевдоним, возвращающий закрытый ключ:
CertificateHolder.Create(MyDir + "morzal.pfx", "aw", null);
Смотрите также
- class CertificateHolder
- пространство имен Aspose.Words.DigitalSignatures
- сборка Aspose.Words
Create(byte[], string)
СоздаетCertificateHolder
объект, использующий массив байтов хранилища PKCS12 и его пароль.
public static CertificateHolder Create(byte[] certBytes, string password)
Параметр | Тип | Описание |
---|---|---|
certBytes | Byte[] | Массив байтов, содержащий данные из сертификата X.509. |
password | String | Пароль, необходимый для доступа к данным сертификата X.509. |
Возвращаемое значение
ПримерCertificateHolder
Исключения
исключение | условие |
---|---|
InvalidParameterException | Выбрасывается, еслиcertBytes являетсянулевой |
InvalidParameterException | Выбрасывается, еслиpassword являетсянулевой |
SecurityException | Выдается, если хранилище PKCS12 не содержит псевдонимов. |
IOException | Выдается, если указан неверный пароль или поврежден файл. |
Примеры
Показывает, как создавать объекты CertificateHolder.
// Ниже приведены четыре способа создания объектов CertificateHolder.
// 1 — загрузить файл PKCS #12 в массив байтов и применить к нему пароль:
byte[] certBytes = File.ReadAllBytes(MyDir + "morzal.pfx");
CertificateHolder.Create(certBytes, "aw");
// 2 — Загрузите файл PKCS #12 в массив байтов и примените безопасный пароль:
SecureString password = new NetworkCredential("", "aw").SecurePassword;
CertificateHolder.Create(certBytes, password);
// Если сертификат имеет закрытые ключи, соответствующие псевдонимам,
// мы можем использовать псевдонимы для получения соответствующих ключей. Сначала мы проверим допустимые псевдонимы.
using (FileStream certStream = new FileStream(MyDir + "morzal.pfx", FileMode.Open))
{
Pkcs12Store pkcs12Store = new Pkcs12StoreBuilder().Build();
pkcs12Store.Load(certStream, "aw".ToCharArray());
IEnumerator enumerator = pkcs12Store.Aliases.GetEnumerator();
while (enumerator.MoveNext())
{
if (enumerator.Current != null)
{
string currentAlias = enumerator.Current.ToString();
if (pkcs12Store.IsKeyEntry(currentAlias) && pkcs12Store.GetKey(currentAlias).Key.IsPrivate)
{
Console.WriteLine($"Valid alias found: {enumerator.Current}");
}
}
}
}
// 3 – Используйте действительный псевдоним:
CertificateHolder.Create(MyDir + "morzal.pfx", "aw", "c20be521-11ea-4976-81ed-865fbbfc9f24");
// 4 — передать «null» в качестве псевдонима, чтобы использовать первый доступный псевдоним, возвращающий закрытый ключ:
CertificateHolder.Create(MyDir + "morzal.pfx", "aw", null);
Смотрите также
- class CertificateHolder
- пространство имен Aspose.Words.DigitalSignatures
- сборка Aspose.Words
Create(string, string)
СоздаетCertificateHolder
объект, используя путь к хранилищу PKCS12 и его пароль.
public static CertificateHolder Create(string fileName, string password)
Параметр | Тип | Описание |
---|---|---|
fileName | String | Имя файла сертификата. |
password | String | Пароль, необходимый для доступа к данным сертификата X.509. |
Возвращаемое значение
ПримерCertificateHolder
Исключения
исключение | условие |
---|---|
InvalidParameterException | Выбрасывается, еслиfileName являетсянулевой |
InvalidParameterException | Выбрасывается, еслиpassword являетсянулевой |
SecurityException | Выдается, если хранилище PKCS12 не содержит псевдонимов. |
IOException | Выдается, если указан неверный пароль или поврежден файл. |
Примеры
Показывает, как подписывать документы цифровой подписью.
// Создайте сертификат X.509 из хранилища PKCS#12, который должен содержать закрытый ключ.
CertificateHolder certificateHolder = CertificateHolder.Create(MyDir + "morzal.pfx", "aw");
// Создаем комментарий и дату, которые будут применяться с нашей новой цифровой подписью.
SignOptions signOptions = new SignOptions
{
Comments = "My comment",
SignTime = DateTime.Now
};
// Берем неподписанный документ из локальной файловой системы через файловый поток,
// затем создаем его подписанную копию, определенную именем файла потока выходного файла.
using (Stream streamIn = new FileStream(MyDir + "Document.docx", FileMode.Open))
{
using (Stream streamOut = new FileStream(ArtifactsDir + "DigitalSignatureUtil.SignDocument.docx", FileMode.OpenOrCreate))
{
DigitalSignatureUtil.Sign(streamIn, streamOut, certificateHolder, signOptions);
}
}
Смотрите также
- class CertificateHolder
- пространство имен Aspose.Words.DigitalSignatures
- сборка Aspose.Words
Create(string, string, string)
СоздаетCertificateHolder
объект, используя путь к хранилищу PKCS12, его пароль и псевдоним, по которому будут найдены закрытый ключ и сертификат.
public static CertificateHolder Create(string fileName, string password, string alias)
Параметр | Тип | Описание |
---|---|---|
fileName | String | Имя файла сертификата. |
password | String | Пароль, необходимый для доступа к данным сертификата X.509. |
alias | String | Связанный псевдоним сертификата и его закрытый ключ. |
Возвращаемое значение
ПримерCertificateHolder
Исключения
исключение | условие |
---|---|
InvalidParameterException | Выбрасывается, еслиfileName являетсянулевой |
InvalidParameterException | Выбрасывается, еслиpassword являетсянулевой |
SecurityException | Выдается, если хранилище PKCS12 не содержит псевдонимов. |
IOException | Выдается, если указан неверный пароль или поврежден файл. |
SecurityException | Вызывается, если нет закрытого ключа с данным псевдонимом. |
Примеры
Показывает, как создавать объекты CertificateHolder.
// Ниже приведены четыре способа создания объектов CertificateHolder.
// 1 — загрузить файл PKCS #12 в массив байтов и применить к нему пароль:
byte[] certBytes = File.ReadAllBytes(MyDir + "morzal.pfx");
CertificateHolder.Create(certBytes, "aw");
// 2 — Загрузите файл PKCS #12 в массив байтов и примените безопасный пароль:
SecureString password = new NetworkCredential("", "aw").SecurePassword;
CertificateHolder.Create(certBytes, password);
// Если сертификат имеет закрытые ключи, соответствующие псевдонимам,
// мы можем использовать псевдонимы для получения соответствующих ключей. Сначала мы проверим допустимые псевдонимы.
using (FileStream certStream = new FileStream(MyDir + "morzal.pfx", FileMode.Open))
{
Pkcs12Store pkcs12Store = new Pkcs12StoreBuilder().Build();
pkcs12Store.Load(certStream, "aw".ToCharArray());
IEnumerator enumerator = pkcs12Store.Aliases.GetEnumerator();
while (enumerator.MoveNext())
{
if (enumerator.Current != null)
{
string currentAlias = enumerator.Current.ToString();
if (pkcs12Store.IsKeyEntry(currentAlias) && pkcs12Store.GetKey(currentAlias).Key.IsPrivate)
{
Console.WriteLine($"Valid alias found: {enumerator.Current}");
}
}
}
}
// 3 – Используйте действительный псевдоним:
CertificateHolder.Create(MyDir + "morzal.pfx", "aw", "c20be521-11ea-4976-81ed-865fbbfc9f24");
// 4 — передать «null» в качестве псевдонима, чтобы использовать первый доступный псевдоним, возвращающий закрытый ключ:
CertificateHolder.Create(MyDir + "morzal.pfx", "aw", null);
Смотрите также
- class CertificateHolder
- пространство имен Aspose.Words.DigitalSignatures
- сборка Aspose.Words