From 1c46178bbc01b3b9c36296cc675e4d05e951d5e0 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Thu, 21 Aug 2025 05:52:58 +0530 Subject: [PATCH 01/17] docs: use cannonical rfc links in impl_ffi.rsa_common.dart --- lib/src/impl_ffi/impl_ffi.rsa_common.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/impl_ffi/impl_ffi.rsa_common.dart b/lib/src/impl_ffi/impl_ffi.rsa_common.dart index 6f08d54f..3e2edab2 100644 --- a/lib/src/impl_ffi/impl_ffi.rsa_common.dart +++ b/lib/src/impl_ffi/impl_ffi.rsa_common.dart @@ -115,7 +115,7 @@ _EvpPKey _importJwkRsaPrivateOrPublicKey( checkJwk(jwk.d != null, 'd'); final d = readBN(jwk.d!, 'd'); // If present properties p,q,dp,dq,qi enable optional optimizations, see: - // https://tools.ietf.org/html/rfc7518#section-6.3.2 + // https://https://www.rfc-editor.org/rfc/rfc7518#section-6.3.2 // However, these are required by Chromes Web Crypto implementation: // https://chromium.googlesource.com/chromium/src/+/43d62c50b705f88c67b14539e91fd8fd017f70c4/components/webcrypto/algorithms/rsa.cc#82 // They are also required by Web Crypto implementation in Firefox: @@ -202,7 +202,7 @@ Map _exportJwkRsaPrivateOrPublicKey( ssl.RSA_get0_key(rsa, ffi.nullptr, ffi.nullptr, d); // p, q, dp, dq, qi is optional in: - // // https://tools.ietf.org/html/rfc7518#section-6.3.2 + // // https://www.rfc-editor.org/rfc/rfc7518#section-6.3.2 // but explicitly required when exporting in Web Crypto. final p = scope>(); final q = scope>(); From b7e56a3183172bae1929f61d6bc825a3321ce0f6 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Thu, 21 Aug 2025 06:16:59 +0530 Subject: [PATCH 02/17] docs: use cannonical rfc links in impl_ffi.utils.dart --- lib/src/impl_ffi/impl_ffi.utils.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/impl_ffi/impl_ffi.utils.dart b/lib/src/impl_ffi/impl_ffi.utils.dart index 1837e9f1..463b4ec7 100644 --- a/lib/src/impl_ffi/impl_ffi.utils.dart +++ b/lib/src/impl_ffi/impl_ffi.utils.dart @@ -489,7 +489,7 @@ int _numBitsToBytes(int numberOfBits) => (numberOfBits ~/ 8) + ((7 + (numberOfBits % 8)) ~/ 8); /// Decode url-safe base64 witout padding as specified in -/// [RFC 7515 Section 2](https://tools.ietf.org/html/rfc7515#section-2) +/// [RFC 7515 Section 2]( https://www.rfc-editor.org/rfc/rfc7515#section-2) /// /// Throw [FormatException] mentioning JWK property [prop] on failure. Uint8List _jwkDecodeBase64UrlNoPadding(String unpadded, String prop) { @@ -508,7 +508,7 @@ Uint8List _jwkDecodeBase64UrlNoPadding(String unpadded, String prop) { } /// Encode url-safe base64 witout padding as specified in -/// [RFC 7515 Section 2](https://tools.ietf.org/html/rfc7515#section-2) +/// [RFC 7515 Section 2](https://www.rfc-editor.org/rfc/rfc7515#section-2) String _jwkEncodeBase64UrlNoPadding(List data) { final padded = base64Url.encode(data); final i = padded.indexOf('='); From 3430abd58f845aaf35c83ef82e62be4602ed420f Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Thu, 21 Aug 2025 07:06:28 +0530 Subject: [PATCH 03/17] docs: use canonical rfc links in jsonwebkey.dart --- lib/src/jsonwebkey.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/jsonwebkey.dart b/lib/src/jsonwebkey.dart index 4d46fdd1..331fd18a 100644 --- a/lib/src/jsonwebkey.dart +++ b/lib/src/jsonwebkey.dart @@ -216,7 +216,7 @@ final class JsonWebKey { /// See also "oth" in [RFC 7518 Section 6.3.2.7]. /// /// [1]: https://www.w3.org/TR/WebCryptoAPI/#JsonWebKey-dictionary -/// [2]: https://tools.ietf.org/html/rfc7518#section-6.3.2.7 +/// [2]: https://www.rfc-editor.org/rfc/rfc7518#section-6.3.2.7 final class RsaOtherPrimesInfo { String r; String d; From 1e9760bd2c1183f36ff244b4695041ee1f03ef5b Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 22 Aug 2025 05:19:40 +0530 Subject: [PATCH 04/17] docs: use cannonical rfc links in rsapss.dart --- lib/src/testing/webcrypto/rsapss.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/testing/webcrypto/rsapss.dart b/lib/src/testing/webcrypto/rsapss.dart index 699af47d..fcb33e41 100644 --- a/lib/src/testing/webcrypto/rsapss.dart +++ b/lib/src/testing/webcrypto/rsapss.dart @@ -125,7 +125,7 @@ final _testData = [ /// [2]: https://opensource.apple.com/source/CommonCrypto/CommonCrypto-60165.120.1/lib/CommonRSACryptor.c.auto.html /// [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://tools.ietf.org/html/rfc3447 + /// [5]: https://www.rfc-editor.org/rfc/rfc3447 /// [6]: https://tools.ietf.org/html/rfc3447#section-9.1 /// [7]: https://bugs.webkit.org/show_bug.cgi?id=216750 ...(nullOnSafari(_testDataWithLongSaltLength) ?? []), From b0e7baba3a5b491a659d251f6af3e22c251244e0 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 18:17:22 +0530 Subject: [PATCH 05/17] docs: use cannonical rfc links in webcrypto.aescbcc.dart --- lib/src/webcrypto/webcrypto.aescbc.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.aescbc.dart b/lib/src/webcrypto/webcrypto.aescbc.dart index 62aaf654..29457b75 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( @@ -150,7 +150,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} /// @@ -237,7 +237,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} @@ -304,6 +304,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(); } From a5eb76f923b0ec1200108366b64b5f1424e1d58a Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 18:26:39 +0530 Subject: [PATCH 06/17] docs: use cannonical rfc links in webcrypto.aesctr.dart --- lib/src/webcrypto/webcrypto.aesctr.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.aesctr.dart b/lib/src/webcrypto/webcrypto.aesctr.dart index 383bdbef..5046048c 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//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//rfc7517 static Future importJsonWebKey( Map jwk) async { final impl = await webCryptImpl.aesCtrSecretKey.importJsonWebKey(jwk); @@ -329,6 +329,6 @@ final class AesCtrSecretKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]:https://www.rfc-editor.org//rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } From a0feffac1696914bcf617d826077e53ee036de08 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 18:30:30 +0530 Subject: [PATCH 07/17] docs: use cannonical rfc links in webcrypto.aesgcm.dart --- lib/src/webcrypto/webcrypto.aesgcm.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.aesgcm.dart b/lib/src/webcrypto/webcrypto.aesgcm.dart index af64c11c..7d8a960b 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 { final impl = await webCryptImpl.aesGcmSecretKey.importJsonWebKey(jwk); @@ -282,6 +282,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(); } From 740a5a89503f3da53461333f0ef7d50131d5c7ef Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 18:34:56 +0530 Subject: [PATCH 08/17] docs: use cannonical rfc links in webcrypto.ecdh.dart --- lib/src/webcrypto/webcrypto.ecdh.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.ecdh.dart b/lib/src/webcrypto/webcrypto.ecdh.dart index 34a8d174..a86e38bb 100644 --- a/lib/src/webcrypto/webcrypto.ecdh.dart +++ b/lib/src/webcrypto/webcrypto.ecdh.dart @@ -213,9 +213,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; From 699483963b45744e396ab10e1ed0253877fa2bfc Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 18:38:19 +0530 Subject: [PATCH 09/17] docs: use cannonical rfc links in webcrypto.hkdf.dart --- lib/src/webcrypto/webcrypto.hkdf.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/webcrypto/webcrypto.hkdf.dart b/lib/src/webcrypto/webcrypto.hkdf.dart index b5b26361..204e4a86 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 { From 1b83baf8848e9a07cd70ea8c28ec106470335d75 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 18:44:09 +0530 Subject: [PATCH 10/17] docs: use cannonical rfc links in webcrypto.hmac.dart --- lib/src/webcrypto/webcrypto.hmac.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.hmac.dart b/lib/src/webcrypto/webcrypto.hmac.dart index 66e698a8..65398be9 100644 --- a/lib/src/webcrypto/webcrypto.hmac.dart +++ b/lib/src/webcrypto/webcrypto.hmac.dart @@ -140,7 +140,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. @@ -376,6 +376,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(); } From 3edcc13e7835bc57d62141cae10cfb56520cb43a Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 18:48:23 +0530 Subject: [PATCH 11/17] docs: use cannonical rfc links in webcrypto.pbkdf2.dart --- lib/src/webcrypto/webcrypto.pbkdf2.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.pbkdf2.dart b/lib/src/webcrypto/webcrypto.pbkdf2.dart index b335ffd5..8f184c90 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, From 9ead09b838df21fda9389f49f556fd5de5da7228 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 18:57:35 +0530 Subject: [PATCH 12/17] docs: use cannonical rfc links in webcrypto.rsaoaep.dart --- lib/src/webcrypto/webcrypto.rsaoaep.dart | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.rsaoaep.dart b/lib/src/webcrypto/webcrypto.rsaoaep.dart index 5ce53a6a..d238b660 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//rfc5208 static Future importPkcs8Key( List keyData, Hash hash, @@ -162,7 +162,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, @@ -303,7 +303,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. @@ -331,7 +331,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(); } @@ -351,9 +351,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; @@ -395,7 +395,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, @@ -438,7 +438,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, @@ -543,7 +543,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. @@ -571,6 +571,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(); } From 3137228a7b31c0e60afe4216f147a8b39dda7f14 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Fri, 29 Aug 2025 19:13:39 +0530 Subject: [PATCH 13/17] docs: use cannonical rfc links in webcrypto.rsapss.dart --- lib/src/webcrypto/webcrypto.rsapss.dart | 32 ++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.rsapss.dart b/lib/src/webcrypto/webcrypto.rsapss.dart index b4e2b8d7..d053458f 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, @@ -154,7 +154,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, @@ -276,7 +276,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: @@ -350,7 +350,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); @@ -381,7 +381,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. @@ -409,7 +409,7 @@ final class RsaPssPrivateKey { /// print(jsonEncode(jwk)); /// ``` /// - /// [1]: https://tools.ietf.org/html/rfc7517 + /// [1]: https://www.rfc-editor.org//rfc7517 Future> exportJsonWebKey() => _impl.exportJsonWebKey(); } @@ -427,9 +427,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//rfc3447 +/// [2]: https://www.rfc-editor.org/rfc/rfc5280 +/// [3]: https://www.rfc-editor.org/rfc/rfc7517 final class RsaPssPublicKey { final RsaPssPublicKeyImpl _impl; @@ -471,7 +471,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, @@ -514,7 +514,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, @@ -645,7 +645,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. @@ -673,6 +673,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(); } From 7c33482a17a96a2fa64fca2510034036955f2737 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Sat, 30 Aug 2025 13:40:33 +0530 Subject: [PATCH 14/17] docs: use cannonical rfc links in webcrypto.rsassapkcs1v15.dart --- .../webcrypto/webcrypto.rsassapkcs1v15.dart | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/src/webcrypto/webcrypto.rsassapkcs1v15.dart b/lib/src/webcrypto/webcrypto.rsassapkcs1v15.dart index 1a7a98eb..f4539b3f 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, @@ -162,7 +162,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, @@ -357,7 +357,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. @@ -388,7 +388,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(); } @@ -408,9 +408,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; @@ -452,7 +452,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, @@ -495,7 +495,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, @@ -599,7 +599,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. @@ -627,6 +627,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(); } From 668c4549d298351b2ac57a15fb4d3af0af327ece Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Sat, 30 Aug 2025 13:58:16 +0530 Subject: [PATCH 15/17] docs: use cannonical rfc links in blake2 --- third_party/boringssl/src/crypto/blake2/blake2.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/third_party/boringssl/src/crypto/blake2/blake2.c b/third_party/boringssl/src/crypto/blake2/blake2.c index 5c6b17ed..ee0db03c 100644 --- a/third_party/boringssl/src/crypto/blake2/blake2.c +++ b/third_party/boringssl/src/crypto/blake2/blake2.c @@ -18,7 +18,7 @@ #include "../internal.h" -// https://tools.ietf.org/html/rfc7693#section-2.6 +// https://www.rfc-editor.org/rfc/rfc7693#section-2.6 static const uint64_t kIV[8] = { UINT64_C(0x6a09e667f3bcc908), UINT64_C(0xbb67ae8584caa73b), UINT64_C(0x3c6ef372fe94f82b), UINT64_C(0xa54ff53a5f1d36f1), @@ -26,7 +26,7 @@ static const uint64_t kIV[8] = { UINT64_C(0x1f83d9abfb41bd6b), UINT64_C(0x5be0cd19137e2179), }; -// https://tools.ietf.org/html/rfc7693#section-2.7 +// https://www.rfc-editor.org/rfc/rfc7693#section-2.7 static const uint8_t kSigma[10 * 16] = { // clang-format off 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, @@ -42,7 +42,7 @@ static const uint8_t kSigma[10 * 16] = { // clang-format on }; -// https://tools.ietf.org/html/rfc7693#section-3.1 +// https://www.rfc-editor.org/rfc/rfc7693#section-3.1 static void blake2b_mix(uint64_t v[16], int a, int b, int c, int d, uint64_t x, uint64_t y) { v[a] = v[a] + v[b] + x; @@ -59,7 +59,7 @@ static void blake2b_transform( BLAKE2B_CTX *b2b, const uint64_t block_words[BLAKE2B_CBLOCK / sizeof(uint64_t)], size_t num_bytes, int is_final_block) { - // https://tools.ietf.org/html/rfc7693#section-3.2 + // https://www.rfc-editor.org/rfc/rfc7693#section-3.2 uint64_t v[16]; static_assert(sizeof(v) == sizeof(b2b->h) + sizeof(kIV), ""); OPENSSL_memcpy(v, b2b->h, sizeof(b2b->h)); @@ -100,7 +100,7 @@ void BLAKE2B256_Init(BLAKE2B_CTX *b2b) { static_assert(sizeof(kIV) == sizeof(b2b->h), ""); OPENSSL_memcpy(&b2b->h, kIV, sizeof(kIV)); - // https://tools.ietf.org/html/rfc7693#section-2.5 + // https://www.rfc-editor.org/rfc/rfc7693#section-2.5 b2b->h[0] ^= 0x01010000 | BLAKE2B256_DIGEST_LENGTH; } From a31ab44350f28bfd67f3cae8aa183779f4423da4 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Sat, 30 Aug 2025 14:05:04 +0530 Subject: [PATCH 16/17] docs: use cannonical rfc links in curve25519 --- third_party/boringssl/src/crypto/curve25519/curve25519.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/boringssl/src/crypto/curve25519/curve25519.c b/third_party/boringssl/src/crypto/curve25519/curve25519.c index 17740b83..dd729f05 100644 --- a/third_party/boringssl/src/crypto/curve25519/curve25519.c +++ b/third_party/boringssl/src/crypto/curve25519/curve25519.c @@ -1937,7 +1937,7 @@ int ED25519_verify(const uint8_t *message, size_t message_len, uint8_t scopy[32]; OPENSSL_memcpy(scopy, signature + 32, 32); - // https://tools.ietf.org/html/rfc8032#section-5.1.7 requires that s be in + // https://www.rfc-editor.org/rfc/rfc8032#section-5.1.7 requires that s be in // the range [0, order) in order to prevent signature malleability. // kOrder is the order of Curve25519 in little-endian form. From f379eb25eb3f19b1d940898f6a60badecebab317 Mon Sep 17 00:00:00 2001 From: AquibAquil Date: Sat, 30 Aug 2025 14:11:38 +0530 Subject: [PATCH 17/17] docs: use cannonical rfc links in key_wrap --- third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c b/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c index 95b12d28..2fa80187 100644 --- a/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c +++ b/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.c @@ -104,7 +104,7 @@ int AES_wrap_key(const AES_KEY *key, const uint8_t *iv, uint8_t *out, } // aes_unwrap_key_inner performs steps one and two from -// https://tools.ietf.org/html/rfc3394#section-2.2.2 +// https://www.rfc-editor.org/rfc/rfc3394#section-2.2.2 static int aes_unwrap_key_inner(const AES_KEY *key, uint8_t *out, uint8_t out_iv[8], const uint8_t *in, size_t in_len) { @@ -158,12 +158,12 @@ int AES_unwrap_key(const AES_KEY *key, const uint8_t *iv, uint8_t *out, } // kPaddingConstant is used in Key Wrap with Padding. See -// https://tools.ietf.org/html/rfc5649#section-3 +// https://www.rfc-editor.org/rfc/rfc5649#section-3 static const uint8_t kPaddingConstant[4] = {0xa6, 0x59, 0x59, 0xa6}; int AES_wrap_key_padded(const AES_KEY *key, uint8_t *out, size_t *out_len, size_t max_out, const uint8_t *in, size_t in_len) { - // See https://tools.ietf.org/html/rfc5649#section-4.1 + // See https://www.rfc-editor.org/rfc/rfc5649#section-4.1 const uint64_t in_len64 = in_len; const size_t padded_len = (in_len + 7) & ~7; *out_len = 0;