在key Vault中生成公钥以及随后的CSR是否可能?我在文档中没有看到任何关于生成相应公钥的提及?(或者我只是不明白HSM的本质?)
似乎可以在其他地方创建密钥和CSR,并将私钥导入到密钥库HSM中。这显然不如在HSM之外从未存在过的私钥好。
下面是一种在Windows上执行此操作的方法
>
使用Azure Key Vault SDK for.NET在Azure Key Vault中的HSM中创建密钥对
// Assuming you have a keyVaultClient object using the SDK
var keyBundle = keyVaultClient.CreateKeyAsync(keyVaultUri, "myKey01", "RSA-HSM", 2048).GetAwaiter().GetResult();
获取所创建密钥对的公钥作为CSP blob
var rsaCryptoProvider = new RSACryptoServiceProvider();
var rsaParameters = new RSAParameters()
{
Modulus = keyBundle.Key.N,
Exponent = keyBundle.Key.E
};
rsaCryptoProvider.ImportParameters(rsaParameters);
var cspBlob = rsaCryptoProvider.ExportCspBlob(false);
[DllImport("ncrypt.dll", CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
private static extern ErrorCode NCryptOpenStorageProvider(
[Out] out SafeNCryptProviderHandle phProvider,
string pszProviderName,
uint dwFlags);
SafeNCryptProviderHandle providerHandle = null;
var result = NCryptOpenStorageProvider(
out providerHandle,
null,
0);
b.使用NCryptImportKey(SO上的链接限制,搜索MSDN)
[DllImport("ncrypt.dll", CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
private static extern int NCryptImportKey(
SafeNCryptProviderHandle hProvider,
IntPtr hImportKey, // NCRYPT_KEY_HANDLE
string pszBlobType,
IntPtr pParameterList, // NCryptBufferDesc *
[Out] out SafeNCryptKeyHandle phKey,
[MarshalAs(UnmanagedType.LPArray)] byte[] pbData,
int cbData,
uint dwFlags);
将cspBlob从(2)导入到密钥服务提供程序中
SafeNCryptKeyHandle keyHandle;
var result = NCryptImportKey(
providerHandle,
IntPtr.Zero,
"CAPIPUBLICBLOB",
IntPtr.Zero,
out keyHandle,
cspBlob,
cspBlob.Length,
0x00000040);
c.keyHandle现在可以与CryptExportPublicKeyInfo一起使用-(SO上的链接限制,搜索MSDN)为CSR对象创建CERT_PUBLIC_KEY_INFO结构。请参阅文档中提供的示例。
填写PKCS10(CSR)的其他字段,并对其进行ASN1编码。
使用apporriate哈希html" target="_blank">算法创建(5)的编码结果的哈希。使用(1)中创建的密钥对的私钥对哈希签名
var signature=KeyVaultClient.SignAsync(KeyBundle.KeyIdentifier.Identifier,“rs256”,hash).GetAwaiter().GetResult();
我使用具体化泛型来捕获
我正在尝试查找相关的JPA文档,但很难找到任何指定是否允许我创建实体的ElementCollection的内容。我知道典型的用法是将@Embedded的@ElementCollection制作成一个@ElementCollection,但由于我遇到了一个Hibernate bug,我需要将我的可嵌入类制作成它自己的实体。 我希望实体的生命周期由父类控制。因此,我希望不要为新实体创建任何DAO/存储
我必须从Postgres表中读取配置并广播它,以使用它过滤主数据流。我正在使用Flink广播状态进行此操作。当我从本地套接字获取配置时,它工作得很好。 用例是在Flink作业中从Postgres读取最新配置,而无需重新启动作业。 我们可以从Postgres表创建Flink数据流吗?如果可能的话,它是否有效,因为它将永远保持JDBC连接的活性?
我想将用户输入存储到ArrayList中,然后将该ArrayList放入另一个ArrayList中。这有点像一个主类别,它包含包含数据的子类别。 以下是一些代码: 我可以在"main Cat"ArrayList中添加"subCat"ArrayList吗?
问题内容: 我们有2个数据库-DB1和DB2。 我可以在DB1中创建一个与DB2中的一个表有关系的表吗?换句话说,我的表中是否可以有来自另一个数据库的外键? 我用不同的用户连接到这些数据库。有任何想法吗? 现在,我收到错误消息: ORA-00942:表或视图不存在 问题答案: 不可以,Oracle不允许您创建通过数据库链接引用表的外键约束。您将必须使用触发器来强制执行完整性。
有什么方法可以为我创建的类使用自动装箱吗?例如,我有的子类。 现在,< code > UnsignedInteger I = new UnsignedInteger(88);工作得非常好,但是有什么方法可以让这个编译:< code > UnsignedInteger i = 88?对我来说不会。提前感谢!