From 2fa20778fd8a30fde881f41f98f9275a8fafbb9c Mon Sep 17 00:00:00 2001 From: YATIN072007 Date: Sun, 18 Jan 2026 14:43:32 +0530 Subject: [PATCH 1/2] Use canonical link for all RFC references (#189) --- lib/src/testing/webcrypto/pbkdf2.dart | 2 +- lib/src/testing/webcrypto/rsapss.dart | 2 +- lib/src/webcrypto/webcrypto.aescbc.dart | 12 +++---- lib/src/webcrypto/webcrypto.aesctr.dart | 6 ++-- lib/src/webcrypto/webcrypto.aesgcm.dart | 6 ++-- lib/src/webcrypto/webcrypto.ecdh.dart | 16 ++++----- lib/src/webcrypto/webcrypto.hkdf.dart | 2 +- lib/src/webcrypto/webcrypto.hmac.dart | 4 +-- lib/src/webcrypto/webcrypto.pbkdf2.dart | 4 +-- lib/src/webcrypto/webcrypto.rsaoaep.dart | 28 +++++++-------- lib/src/webcrypto/webcrypto.rsapss.dart | 34 +++++++++---------- .../webcrypto/webcrypto.rsassapkcs1v15.dart | 28 +++++++-------- src/CMakeLists.txt | 5 ++- 13 files changed, 76 insertions(+), 73 deletions(-) diff --git a/lib/src/testing/webcrypto/pbkdf2.dart b/lib/src/testing/webcrypto/pbkdf2.dart index 7e5ca254..cf971840 100644 --- a/lib/src/testing/webcrypto/pbkdf2.dart +++ b/lib/src/testing/webcrypto/pbkdf2.dart @@ -75,7 +75,7 @@ void main() async { await runner.tests().runTests(); } -// TODO: Augments tests with test vectors from: https://datatracker.ietf.org/doc/html/rfc6070 +// TODO: Augments tests with test vectors from: https://www.rfc-editor.org/rfc/rfc6070 // Allow single quotes for hardcoded testData written as JSON: // ignore_for_file: prefer_single_quotes diff --git a/lib/src/testing/webcrypto/rsapss.dart b/lib/src/testing/webcrypto/rsapss.dart index fe926caa..b54d6b2d 100644 --- a/lib/src/testing/webcrypto/rsapss.dart +++ b/lib/src/testing/webcrypto/rsapss.dart @@ -130,7 +130,7 @@ final _testData = [ /// [3]: https://opensource.apple.com/source/xnu/xnu-4570.41.2/EXTERNAL_HEADERS/corecrypto/ccrsa.h.auto.html /// [4]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf /// [5]: https://www.rfc-editor.org/rfc/rfc3447 - /// [6]: https://tools.ietf.org/html/rfc3447#section-9.1 + /// [6]: https://www.rfc-editor.org/rfc/rfc3447#section-9.1 /// [7]: https://bugs.webkit.org/show_bug.cgi?id=216750 ...(nullOnSafari(_testDataWithLongSaltLength) ?? []), ]; diff --git a/lib/src/webcrypto/webcrypto.aescbc.dart b/lib/src/webcrypto/webcrypto.aescbc.dart index 39e5c838..6f5df25c 100644 --- a/lib/src/webcrypto/webcrypto.aescbc.dart +++ b/lib/src/webcrypto/webcrypto.aescbc.dart @@ -32,8 +32,8 @@ part of 'webcrypto.dart'; /// {@macro AesCbcSecretKey-encryptBytes/decryptBytes:example} /// /// [1]: https://csrc.nist.gov/publications/detail/sp/800-38a/final -/// [2]: https://tools.ietf.org/html/rfc2315#section-10.3 -/// [3]: https://tools.ietf.org/html/rfc7517 +/// [2]: https://www.rfc-editor.org/rfc/rfc2315#section-10.3 +/// [3]: https://www.rfc-editor.org/rfc/rfc7517 final class AesCbcSecretKey { final AesCbcSecretKeyImpl _impl; @@ -106,7 +106,7 @@ final class AesCbcSecretKey { /// print(jsonEncode(keyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 // TODO: Decide if we want restrictions on "use" property" (we probably have it on web, if we don't strip it) // TODO: Decide if we want place restrictions on key_ops static Future importJsonWebKey( @@ -151,7 +151,7 @@ final class AesCbcSecretKey { /// /// {@template AesCbcSecretKey-encrypt:padding} /// Encrypted output is always padded in PKCS#7 mode, as described in - /// [RFC 2315 Section 10.3 step 2](https://tools.ietf.org/html/rfc2315#section-10.3). + /// [RFC 2315 Section 10.3 step 2](https://www.rfc-editor.org/rfc/rfc2315#section-10.3). /// This padding is stripped when the message is decrypted. /// {@endtemplate} /// @@ -238,7 +238,7 @@ final class AesCbcSecretKey { /// {@template AesCbcSecretKey-decrypt:padding} /// The encrypted [data] is always assumed to be padded in PKCS#7 mode, /// as described in - /// [RFC 2315 Section 10.3 step 2](https://tools.ietf.org/html/rfc2315#section-10.3). + /// [RFC 2315 Section 10.3 step 2](https://www.rfc-editor.org/rfc/rfc2315#section-10.3). /// This padding is stripped from the decrypted return value. /// The [encryptBytes] and [encryptStream] methods always apply this padding. /// {@endtemplate} @@ -305,6 +305,6 @@ final class AesCbcSecretKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } diff --git a/lib/src/webcrypto/webcrypto.aesctr.dart b/lib/src/webcrypto/webcrypto.aesctr.dart index e42b3fda..861e3755 100644 --- a/lib/src/webcrypto/webcrypto.aesctr.dart +++ b/lib/src/webcrypto/webcrypto.aesctr.dart @@ -27,7 +27,7 @@ part of 'webcrypto.dart'; /// {@macro AesCtrSecretKey-encryptBytes/decryptBytes:example} /// /// [1]: https://csrc.nist.gov/publications/detail/sp/800-38a/final -/// [2]: https://tools.ietf.org/html/rfc7517 +/// [2]: https://www.rfc-editor.org/rfc/rfc7517 final class AesCtrSecretKey { final AesCtrSecretKeyImpl _impl; @@ -103,7 +103,7 @@ final class AesCtrSecretKey { /// print(jsonEncode(keyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( Map jwk, ) async { @@ -326,6 +326,6 @@ final class AesCtrSecretKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } diff --git a/lib/src/webcrypto/webcrypto.aesgcm.dart b/lib/src/webcrypto/webcrypto.aesgcm.dart index 5c1ccd1e..a8821eaa 100644 --- a/lib/src/webcrypto/webcrypto.aesgcm.dart +++ b/lib/src/webcrypto/webcrypto.aesgcm.dart @@ -30,7 +30,7 @@ part of 'webcrypto.dart'; /// {@macro AesGcmSecretKey-encryptBytes/decryptBytes:example} /// /// [1]: https://csrc.nist.gov/pubs/sp/800/38/d/final -/// [2]: https://tools.ietf.org/html/rfc7517 +/// [2]: https://www.rfc-editor.org/rfc/rfc7517 /// [3]: https://en.wikipedia.org/wiki/Authenticated_encryption final class AesGcmSecretKey { final AesGcmSecretKeyImpl _impl; @@ -103,7 +103,7 @@ final class AesGcmSecretKey { /// print(jsonEncode(keyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( Map jwk, ) async { @@ -289,6 +289,6 @@ final class AesGcmSecretKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } diff --git a/lib/src/webcrypto/webcrypto.ecdh.dart b/lib/src/webcrypto/webcrypto.ecdh.dart index 6a7770c2..064dbb17 100644 --- a/lib/src/webcrypto/webcrypto.ecdh.dart +++ b/lib/src/webcrypto/webcrypto.ecdh.dart @@ -92,7 +92,7 @@ final class EcdhPrivateKey { /// } /// ``` /// - /// [1]: https://datatracker.ietf.org/doc/html/rfc5208 + /// [1]: https://www.rfc-editor.org/rfc/rfc5208 static Future importPkcs8Key( List keyData, EllipticCurve curve, @@ -155,7 +155,7 @@ final class EcdhPrivateKey { /// } /// ``` /// - /// [1]: https://www.rfc-editor.org/rfc/rfc7518.html#section-6.2 + /// [1]: https://www.rfc-editor.org/rfc/rfc7518#section-6.2 static Future importJsonWebKey( Map jwk, EllipticCurve curve, @@ -215,9 +215,9 @@ final class EcdhPrivateKey { // null for length (in this primitive). However, you can always know the right // length from the curve. Note p512 can provide up to: 528 bits!!! // - // See: https://tools.ietf.org/html/rfc6090#section-4 + // See: https://www.rfc-editor.org/rfc/rfc6090#section-4 // Notice that this is not uniformly distributed, see also: - // https://tools.ietf.org/html/rfc6090#appendix-B + // https://www.rfc-editor.org/rfc/rfc6090#appendix-B Future deriveBits(int length, EcdhPublicKey publicKey) async { final publicKeyImpl = publicKey._impl; @@ -246,7 +246,7 @@ final class EcdhPrivateKey { /// print(PemCodec(PemLabel.privateKey).encode(exportedPkcs8Key)); /// } /// ``` - /// [1]: https://datatracker.ietf.org/doc/html/rfc5208 + /// [1]: https://www.rfc-editor.org/rfc/rfc5208 Future exportPkcs8Key() => _impl.exportPkcs8Key(); /// Export the [EcdhPrivateKey] as a [JSON Web Key][1]. @@ -270,7 +270,7 @@ final class EcdhPrivateKey { /// print(jsonEncode(exportedPrivateKey)); /// } /// ``` - /// [1]: https://www.rfc-editor.org/rfc/rfc7518.html#section-6.2 + /// [1]: https://www.rfc-editor.org/rfc/rfc7518#section-6.2 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } @@ -364,7 +364,7 @@ final class EcdhPublicKey { /// } /// ``` /// - /// [1]: https://www.rfc-editor.org/rfc/rfc7518.html#section-6.2 + /// [1]: https://www.rfc-editor.org/rfc/rfc7518#section-6.2 static Future importJsonWebKey( Map jwk, EllipticCurve curve, @@ -409,6 +409,6 @@ final class EcdhPublicKey { /// print(jsonEncode(exportedPublicKey)); /// } /// ``` - /// [1]: https://www.rfc-editor.org/rfc/rfc7518.html#section-6.2 + /// [1]: https://www.rfc-editor.org/rfc/rfc7518#section-6.2 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } diff --git a/lib/src/webcrypto/webcrypto.hkdf.dart b/lib/src/webcrypto/webcrypto.hkdf.dart index 8dd23049..288a0443 100644 --- a/lib/src/webcrypto/webcrypto.hkdf.dart +++ b/lib/src/webcrypto/webcrypto.hkdf.dart @@ -47,7 +47,7 @@ part of 'webcrypto.dart'; /// ``` /// {@endtemplate} /// -/// [1]: https://tools.ietf.org/html/rfc5869 +/// [1]: https://www.rfc-editor.org/rfc/rfc5869 // TODO: It might be wise to use a random salt, then suggest that the non-secret // salt is stored or exchanged... final class HkdfSecretKey { diff --git a/lib/src/webcrypto/webcrypto.hmac.dart b/lib/src/webcrypto/webcrypto.hmac.dart index a7e38cb5..63f4dd9e 100644 --- a/lib/src/webcrypto/webcrypto.hmac.dart +++ b/lib/src/webcrypto/webcrypto.hmac.dart @@ -143,7 +143,7 @@ final class HmacSecretKey { /// print(jsonEncode(keyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( // TODO: Determine if the "alg" property can be omitted, and update documentation accordingly // also make tests covering cases where "alg" is omitted. @@ -383,6 +383,6 @@ final class HmacSecretKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } diff --git a/lib/src/webcrypto/webcrypto.pbkdf2.dart b/lib/src/webcrypto/webcrypto.pbkdf2.dart index f639ffef..c82544b2 100644 --- a/lib/src/webcrypto/webcrypto.pbkdf2.dart +++ b/lib/src/webcrypto/webcrypto.pbkdf2.dart @@ -48,7 +48,7 @@ part of 'webcrypto.dart'; /// ``` /// {@endtemplate} /// -/// [1]: https://tools.ietf.org/html/rfc8018 +/// [1]: https://www.rfc-editor.org/rfc/rfc8018 // TODO: Rewrite all RFC links to use https://www.rfc-editor.org/rfc/rfcXXXX final class Pbkdf2SecretKey { @@ -87,7 +87,7 @@ final class Pbkdf2SecretKey { /// /// {@macro Pbkdf2SecretKey:example} /// - /// [1]: https://tools.ietf.org/html/rfc8018 + /// [1]: https://www.rfc-editor.org/rfc/rfc8018 Future deriveBits( int length, Hash hash, diff --git a/lib/src/webcrypto/webcrypto.rsaoaep.dart b/lib/src/webcrypto/webcrypto.rsaoaep.dart index 94de34f6..155059f3 100644 --- a/lib/src/webcrypto/webcrypto.rsaoaep.dart +++ b/lib/src/webcrypto/webcrypto.rsaoaep.dart @@ -69,9 +69,9 @@ part of 'webcrypto.dart'; /// encrypt/decrypt larger messages. /// {@endtemplate} /// -/// [1]: https://tools.ietf.org/html/rfc3447 -/// [2]: https://tools.ietf.org/html/rfc5208 -/// [3]: https://tools.ietf.org/html/rfc7517 +/// [1]: https://www.rfc-editor.org/rfc/rfc3447 +/// [2]: https://www.rfc-editor.org/rfc/rfc5208 +/// [3]: https://www.rfc-editor.org/rfc/rfc7517 final class RsaOaepPrivateKey { final RsaOaepPrivateKeyImpl _impl; @@ -113,7 +113,7 @@ final class RsaOaepPrivateKey { /// print(PemCodec(PemLabel.privateKey).encode(rawKeyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5208 + /// [1]: https://www.rfc-editor.org/rfc/rfc5208 static Future importPkcs8Key( List keyData, Hash hash, @@ -164,7 +164,7 @@ final class RsaOaepPrivateKey { /// /// {@macro RSA-importJsonWebKey:use-key_ops} /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( Map jwk, Hash hash, @@ -307,7 +307,7 @@ final class RsaOaepPrivateKey { /// print(PemCodec(PemLabel.privateKey).encode(rawPrivateKey)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5208 + /// [1]: https://www.rfc-editor.org/rfc/rfc5208 Future exportPkcs8Key() => _impl.exportPkcs8Key(); /// Export RSAES-OAEP private key in [JSON Web Key][1] format. @@ -335,7 +335,7 @@ final class RsaOaepPrivateKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } @@ -355,9 +355,9 @@ final class RsaOaepPrivateKey { /// /// {@macro RSAES-OAEP-message-size-limit} /// -/// [1]: https://tools.ietf.org/html/rfc3447 -/// [2]: https://tools.ietf.org/html/rfc5280 -/// [3]: https://tools.ietf.org/html/rfc7517 +/// [1]: https://www.rfc-editor.org/rfc/rfc3447 +/// [2]: https://www.rfc-editor.org/rfc/rfc5280 +/// [3]: https://www.rfc-editor.org/rfc/rfc7517 final class RsaOaepPublicKey { final RsaOaepPublicKeyImpl _impl; @@ -399,7 +399,7 @@ final class RsaOaepPublicKey { /// print(PemCodec(PemLabel.publicKey).encode(rawKeyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5280 + /// [1]: https://www.rfc-editor.org/rfc/rfc5280 static Future importSpkiKey( List keyData, Hash hash, @@ -444,7 +444,7 @@ final class RsaOaepPublicKey { /// /// {@macro RSA-importJsonWebKey:use-key_ops} /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( Map jwk, Hash hash, @@ -551,7 +551,7 @@ final class RsaOaepPublicKey { /// print(PemCodec(PemLabel.publicKey).encode(rawPublicKey)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5280 + /// [1]: https://www.rfc-editor.org/rfc/rfc5280 Future exportSpkiKey() => _impl.exportSpkiKey(); /// Export RSAES-OAEP public key in [JSON Web Key][1] format. @@ -579,6 +579,6 @@ final class RsaOaepPublicKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } diff --git a/lib/src/webcrypto/webcrypto.rsapss.dart b/lib/src/webcrypto/webcrypto.rsapss.dart index 33aa2c54..5fa3bc9c 100644 --- a/lib/src/webcrypto/webcrypto.rsapss.dart +++ b/lib/src/webcrypto/webcrypto.rsapss.dart @@ -61,9 +61,9 @@ part of 'webcrypto.dart'; /// ``` /// {@endtemplate} /// -/// [1]: https://tools.ietf.org/html/rfc3447 -/// [2]: https://tools.ietf.org/html/rfc5208 -/// [3]: https://tools.ietf.org/html/rfc7517 +/// [1]: https://www.rfc-editor.org/rfc/rfc3447 +/// [2]: https://www.rfc-editor.org/rfc/rfc5208 +/// [3]: https://www.rfc-editor.org/rfc/rfc7517 final class RsaPssPrivateKey { final RsaPssPrivateKeyImpl _impl; @@ -105,7 +105,7 @@ final class RsaPssPrivateKey { /// print(PemCodec(PemLabel.privateKey).encode(rawKeyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5208 + /// [1]: https://www.rfc-editor.org/rfc/rfc5208 static Future importPkcs8Key( List keyData, Hash hash, @@ -156,7 +156,7 @@ final class RsaPssPrivateKey { /// /// {@macro RSA-importJsonWebKey:use-key_ops} /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( Map jwk, Hash hash, @@ -280,7 +280,7 @@ final class RsaPssPrivateKey { /// print('signature: ${base64.encode(signature)}'); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc3447#section-9.1 + /// [1]: https://www.rfc-editor.org/rfc/rfc3447#section-9.1 /// [2]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf /// // Notes on saltLength for maintainers: @@ -354,7 +354,7 @@ final class RsaPssPrivateKey { /// print('signature: ${base64.encode(signature)}'); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc3447#section-9.1 + /// [1]: https://www.rfc-editor.org/rfc/rfc3447#section-9.1 /// [2]: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf Future signStream(Stream> data, int saltLength) => _impl.signStream(data, saltLength); @@ -385,7 +385,7 @@ final class RsaPssPrivateKey { /// print(PemCodec(PemLabel.privateKey).encode(rawPrivateKey)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5208 + /// [1]: https://www.rfc-editor.org/rfc/rfc5208 Future exportPkcs8Key() => _impl.exportPkcs8Key(); /// Export RSASSA-PSS private key in [JSON Web Key][1] format. @@ -413,7 +413,7 @@ final class RsaPssPrivateKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } @@ -431,9 +431,9 @@ final class RsaPssPrivateKey { /// /// {@macro RSASSA-PSS-Example:generate-sign-verify} /// -/// [1]: https://tools.ietf.org/html/rfc3447 -/// [2]: https://tools.ietf.org/html/rfc5280 -/// [3]: https://tools.ietf.org/html/rfc7517 +/// [1]: https://www.rfc-editor.org/rfc/rfc3447 +/// [2]: https://www.rfc-editor.org/rfc/rfc5280 +/// [3]: https://www.rfc-editor.org/rfc/rfc7517 final class RsaPssPublicKey { final RsaPssPublicKeyImpl _impl; @@ -475,7 +475,7 @@ final class RsaPssPublicKey { /// print(PemCodec(PemLabel.publicKey).encode(rawKeyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5280 + /// [1]: https://www.rfc-editor.org/rfc/rfc5280 static Future importSpkiKey( List keyData, Hash hash, @@ -520,7 +520,7 @@ final class RsaPssPublicKey { /// /// {@macro RSA-importJsonWebKey:use-key_ops} /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( Map jwk, Hash hash, @@ -651,7 +651,7 @@ final class RsaPssPublicKey { /// print(PemCodec(PemLabel.publicKey).encode(rawPublicKey)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5280 + /// [1]: https://www.rfc-editor.org/rfc/rfc5280 Future exportSpkiKey() => _impl.exportSpkiKey(); /// Export RSASSA-PSS public key in [JSON Web Key][1] format. @@ -679,6 +679,6 @@ final class RsaPssPublicKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); -} +} \ No newline at end of file diff --git a/lib/src/webcrypto/webcrypto.rsassapkcs1v15.dart b/lib/src/webcrypto/webcrypto.rsassapkcs1v15.dart index dc695f36..6002b05d 100644 --- a/lib/src/webcrypto/webcrypto.rsassapkcs1v15.dart +++ b/lib/src/webcrypto/webcrypto.rsassapkcs1v15.dart @@ -55,9 +55,9 @@ part of 'webcrypto.dart'; /// ``` /// {@endtemplate} /// -/// [1]: https://tools.ietf.org/html/rfc3447 -/// [2]: https://tools.ietf.org/html/rfc5208 -/// [3]: https://tools.ietf.org/html/rfc7517 +/// [1]: https://www.rfc-editor.org/rfc/rfc3447 +/// [2]: https://www.rfc-editor.org/rfc/rfc5208 +/// [3]: https://www.rfc-editor.org/rfc/rfc7517 final class RsassaPkcs1V15PrivateKey { final RsaSsaPkcs1V15PrivateKeyImpl _impl; @@ -101,7 +101,7 @@ final class RsassaPkcs1V15PrivateKey { /// print(PemCodec(PemLabel.privateKey).encode(rawKeyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5208 + /// [1]: https://www.rfc-editor.org/rfc/rfc5208 static Future importPkcs8Key( List keyData, Hash hash, @@ -164,7 +164,7 @@ final class RsassaPkcs1V15PrivateKey { /// before the JWK is passed to the browser. /// {@endtemplate} /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( Map jwk, Hash hash, @@ -354,7 +354,7 @@ final class RsassaPkcs1V15PrivateKey { /// print(PemCodec(PemLabel.privateKey).encode(rawPrivateKey)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5208 + /// [1]: https://www.rfc-editor.org/rfc/rfc5208 Future exportPkcs8Key() => _impl.exportPkcs8Key(); /// Export RSASSA-PKCS1-v1_5 private key in [JSON Web Key][1] format. @@ -385,7 +385,7 @@ final class RsassaPkcs1V15PrivateKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } @@ -405,9 +405,9 @@ final class RsassaPkcs1V15PrivateKey { /// /// {@macro RSASSA-PKCS1-v1_5-Example:generate-sign-verify} /// -/// [1]: https://tools.ietf.org/html/rfc3447 -/// [2]: https://tools.ietf.org/html/rfc5280 -/// [3]: https://tools.ietf.org/html/rfc7517 +/// [1]: https://www.rfc-editor.org/rfc/rfc3447 +/// [2]: https://www.rfc-editor.org/rfc/rfc5280 +/// [3]: https://www.rfc-editor.org/rfc/rfc7517 final class RsassaPkcs1V15PublicKey { final RsaSsaPkcs1V15PublicKeyImpl _impl; @@ -449,7 +449,7 @@ final class RsassaPkcs1V15PublicKey { /// print(PemCodec(PemLabel.publicKey).encode(rawKeyData)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5280 + /// [1]: https://www.rfc-editor.org/rfc/rfc5280 static Future importSpkiKey( List keyData, Hash hash, @@ -494,7 +494,7 @@ final class RsassaPkcs1V15PublicKey { /// /// {@macro RSA-importJsonWebKey:use-key_ops} /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 static Future importJsonWebKey( Map jwk, Hash hash, @@ -600,7 +600,7 @@ final class RsassaPkcs1V15PublicKey { /// print(PemCodec(PemLabel.publicKey).encode(rawPublicKey)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc5280 + /// [1]: https://www.rfc-editor.org/rfc/rfc5280 Future exportSpkiKey() => _impl.exportSpkiKey(); /// Export RSASSA-PKCS1-v1_5 public key in [JSON Web Key][1] format. @@ -628,6 +628,6 @@ final class RsassaPkcs1V15PublicKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org/rfc/rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 86e65e89..1f0cf47f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -119,6 +119,9 @@ endif() if(WIN32) # Windows/MSVC option from CMakeLists.txt in BoringSSL # Use NASM on Windows. + if(NOT CMAKE_ASM_NASM_COMPILER) + find_program(CMAKE_ASM_NASM_COMPILER NAMES nasm nasm.exe PATHS "$ENV{USERPROFILE}/scoop/shims" "$ENV{USERPROFILE}/scoop/apps/nasm/current" "C:/Users/yatin/scoop/shims") + endif() enable_language(ASM_NASM) set(OPENSSL_NASM TRUE) set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -gcv8") @@ -160,4 +163,4 @@ set_target_properties( C_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN 1 -) +) \ No newline at end of file From 7bb47b142084f84f39d39feb310d32e28bd5f101 Mon Sep 17 00:00:00 2001 From: YATIN072007 Date: Thu, 29 Jan 2026 12:45:44 +0530 Subject: [PATCH 2/2] Revert unintended CMakeLists.txt changes --- src/CMakeLists.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1f0cf47f..86e65e89 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -119,9 +119,6 @@ endif() if(WIN32) # Windows/MSVC option from CMakeLists.txt in BoringSSL # Use NASM on Windows. - if(NOT CMAKE_ASM_NASM_COMPILER) - find_program(CMAKE_ASM_NASM_COMPILER NAMES nasm nasm.exe PATHS "$ENV{USERPROFILE}/scoop/shims" "$ENV{USERPROFILE}/scoop/apps/nasm/current" "C:/Users/yatin/scoop/shims") - endif() enable_language(ASM_NASM) set(OPENSSL_NASM TRUE) set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -gcv8") @@ -163,4 +160,4 @@ set_target_properties( C_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN 1 -) \ No newline at end of file +)