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>(); 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('='); 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; 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) ?? []), 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(); } 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(); } 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(); } 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;