Skip to content

Commit fc75901

Browse files
authored
Add .NET Fx -> Core breaking change for ComputeSignature (#17037)
* fixes #17003 * review on staging * add index link
1 parent 34bb293 commit fc75901

File tree

4 files changed

+59
-9
lines changed

4 files changed

+59
-9
lines changed
Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
---
22
title: Cryptography breaking changes
3-
description: Lists the breaking cryptography-related changes in .NET Core.
4-
ms.date: "09/20/2019"
3+
description: Lists cryptography-related breaking changes in .NET Core.
4+
ms.date: 02/10/2020
55
---
66
# Cryptography breaking changes
77

88
The following breaking changes are documented on this page:
99

10-
- [EnvelopedCms defaults to AES-256 encryption](#envelopedcms-defaults-to-aes-256-encryption)
11-
- [Minimum size for RSAOpenSsl key generation has increased](#minimum-size-for-rsaopenssl-key-generation-has-increased)
12-
- [.NET Core 3.0 prefers OpenSSL 1.1.x to OpenSSL 1.0.x](#net-core-30-prefers-openssl-11x-to-openssl-10x)
13-
- [Better argument validation in the Pkcs8PrivateKeyInfo constructor](#better-argument-validation-in-the-pkcs8privatekeyinfo-constructor)
10+
| Breaking change | Version introduced |
11+
| - | :-: |
12+
| [EnvelopedCms defaults to AES-256 encryption](#envelopedcms-defaults-to-aes-256-encryption) | 3.0 |
13+
| [Minimum size for RSAOpenSsl key generation has increased](#minimum-size-for-rsaopenssl-key-generation-has-increased) | 3.0 |
14+
| [.NET Core 3.0 prefers OpenSSL 1.1.x to OpenSSL 1.0.x](#net-core-30-prefers-openssl-11x-to-openssl-10x) | 3.0 |
15+
| [Better argument validation in the Pkcs8PrivateKeyInfo constructor](#better-argument-validation-in-the-pkcs8privatekeyinfo-constructor) | 3.0 |
16+
| [Boolean parameter of SignedCms.ComputeSignature is respected](#boolean-parameter-of-signedcmscomputesignature-is-respected) | 2.1 |
1417

1518
## .NET Core 3.0
1619

@@ -26,8 +29,12 @@ The following breaking changes are documented on this page:
2629

2730
***
2831

29-
## .NET Core 3.0 Preview 9
30-
3132
[!INCLUDE[Better argument validation in the Pkcs8PrivateKeyInfo constructor](~/includes/core-changes/cryptography/3.0/better-argument-validation-in-pkcs8privatekeyinfo-ctor.md)]
3233

3334
***
35+
36+
## .NET Core 2.1
37+
38+
[!INCLUDE [Boolean parameter of SignedCms.ComputeSignature is respected](~/includes/core-changes/cryptography/2.1/compute-signature-silent-parameter.md)]
39+
40+
***

docs/core/compatibility/fx-core.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ If you're migrating an app from .NET Framework to .NET Core, the breaking change
2121

2222
***
2323

24+
## Cryptography
25+
26+
- [Boolean parameter of SignedCms.ComputeSignature is respected](#boolean-parameter-of-signedcmscomputesignature-is-respected)
27+
28+
### .NET Core 2.1
29+
30+
[!INCLUDE [Boolean parameter of SignedCms.ComputeSignature is respected](~/includes/core-changes/cryptography/2.1/compute-signature-silent-parameter.md)]
31+
32+
***
33+
2434
## Windows Forms
2535

2636
Windows Forms support was added to .NET Core in version 3.0. If you're migrating a Windows Forms app from .NET Framework to .NET Core, the breaking changes listed here may affect your app.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
### Boolean parameter of SignedCms.ComputeSignature is respected
2+
3+
In .NET Core, the Boolean `silent` parameter of the <xref:System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner,System.Boolean)?displayProperty=nameWithType> method is respected. A PIN prompt is not shown if this parameter is set to `true`.
4+
5+
#### Change description
6+
7+
In .NET Framework, the `silent` parameter of the <xref:System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner,System.Boolean)?displayProperty=nameWithType> method is ignored, and a PIN prompt is always shown if required by the provider. In .NET Core, the `silent` parameter is respected, and if set to `true`, a PIN prompt is never shown, even if it's required by the provider.
8+
9+
Support for CMS/PKCS #7 messages was introduced into .NET Core in version 2.1.
10+
11+
#### Version introduced
12+
13+
2.1
14+
15+
#### Recommended action
16+
17+
To ensure a PIN prompt appears if required, desktop applications should call <xref:System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner,System.Boolean)?displayProperty=nameWithType> and set the Boolean parameter to `false`. The resulting behavior is the same as on .NET Framework regardless of whether the silent context is disabled there.
18+
19+
### Category
20+
21+
Cryptography
22+
23+
### Affected APIs
24+
25+
- <xref:System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner,System.Boolean)?displayProperty=nameWithType>
26+
27+
<!--
28+
29+
### Affected APIs
30+
31+
- `M:System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner,System.Boolean)`
32+
33+
-->

includes/core-changes/cryptography/3.0/better-argument-validation-in-pkcs8privatekeyinfo-ctor.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,6 @@ Cryptography
4545
4646
### Affected APIs
4747
48-
- `M:System.Security.Cryptography.Pkcs.Pkcs8PrivateKeyInfo.#ctor(System.Security.Cryptography.Oid,System.Nullable{System.ReadOnlyMemory{System.Byte}},System.ReadOnlyMemory{System.Byte},System.Boolean))
48+
- `M:System.Security.Cryptography.Pkcs.Pkcs8PrivateKeyInfo.#ctor(System.Security.Cryptography.Oid,System.Nullable{System.ReadOnlyMemory{System.Byte}},System.ReadOnlyMemory{System.Byte},System.Boolean)`
4949
5050
-->

0 commit comments

Comments
 (0)