@@ -33,22 +33,22 @@ String _rsassaPkcs1V15JwkAlgFromHash(_Hash hash) {
3333 throw UnsupportedError ('hash is not supported' );
3434}
3535
36- Future <RsassaPkcs1V15PrivateKey > rsassaPkcs1V15PrivateKey_importPkcs8Key (
36+ Future <RsaSsaPkcs1V15PrivateKeyImpl > rsassaPkcs1V15PrivateKey_importPkcs8Key (
3737 List <int > keyData,
3838 Hash hash,
3939) async {
4040 // Get hash first, to avoid a leak of EVP_PKEY if _Hash.fromHash throws
4141 final h = _Hash .fromHash (hash);
42- return _RsassaPkcs1V15PrivateKey (_importPkcs8RsaPrivateKey (keyData), h);
42+ return _RsaSsaPkcs1V15PrivateKeyImpl (_importPkcs8RsaPrivateKey (keyData), h);
4343}
4444
45- Future <RsassaPkcs1V15PrivateKey > rsassaPkcs1V15PrivateKey_importJsonWebKey (
45+ Future <RsaSsaPkcs1V15PrivateKeyImpl > rsassaPkcs1V15PrivateKey_importJsonWebKey (
4646 Map <String , dynamic > jwk,
4747 Hash hash,
4848) async {
4949 // Get hash first, to avoid a leak of EVP_PKEY if _Hash.fromHash throws
5050 final h = _Hash .fromHash (hash);
51- return _RsassaPkcs1V15PrivateKey (
51+ return _RsaSsaPkcs1V15PrivateKeyImpl (
5252 _importJwkRsaPrivateOrPublicKey (
5353 JsonWebKey .fromJson (jwk),
5454 isPrivateKey: true ,
@@ -59,7 +59,7 @@ Future<RsassaPkcs1V15PrivateKey> rsassaPkcs1V15PrivateKey_importJsonWebKey(
5959 );
6060}
6161
62- Future <KeyPair <RsassaPkcs1V15PrivateKey , RsassaPkcs1V15PublicKey >>
62+ Future <KeyPair <RsaSsaPkcs1V15PrivateKeyImpl , RsaSsaPkcs1V15PublicKeyImpl >>
6363 rsassaPkcs1V15PrivateKey_generateKey (
6464 int modulusLength,
6565 BigInt publicExponent,
@@ -69,27 +69,27 @@ Future<KeyPair<RsassaPkcs1V15PrivateKey, RsassaPkcs1V15PublicKey>>
6969 final h = _Hash .fromHash (hash);
7070 final keys = _generateRsaKeyPair (modulusLength, publicExponent);
7171 return createKeyPair (
72- _RsassaPkcs1V15PrivateKey (keys.privateKey, h),
73- _RsassaPkcs1V15PublicKey (keys.publicKey, h),
72+ _RsaSsaPkcs1V15PrivateKeyImpl (keys.privateKey, h),
73+ _RsaSsaPkcs1V15PublicKeyImpl (keys.publicKey, h),
7474 );
7575}
7676
77- Future <RsassaPkcs1V15PublicKey > rsassaPkcs1V15PublicKey_importSpkiKey (
77+ Future <RsaSsaPkcs1V15PublicKeyImpl > rsassaPkcs1V15PublicKey_importSpkiKey (
7878 List <int > keyData,
7979 Hash hash,
8080) async {
8181 // Get hash first, to avoid a leak of EVP_PKEY if _Hash.fromHash throws
8282 final h = _Hash .fromHash (hash);
83- return _RsassaPkcs1V15PublicKey (_importSpkiRsaPublicKey (keyData), h);
83+ return _RsaSsaPkcs1V15PublicKeyImpl (_importSpkiRsaPublicKey (keyData), h);
8484}
8585
86- Future <RsassaPkcs1V15PublicKey > rsassaPkcs1V15PublicKey_importJsonWebKey (
86+ Future <RsaSsaPkcs1V15PublicKeyImpl > rsassaPkcs1V15PublicKey_importJsonWebKey (
8787 Map <String , dynamic > jwk,
8888 Hash hash,
8989) async {
9090 // Get hash first, to avoid a leak of EVP_PKEY if _Hash.fromHash throws
9191 final h = _Hash .fromHash (hash);
92- return _RsassaPkcs1V15PublicKey (
92+ return _RsaSsaPkcs1V15PublicKeyImpl (
9393 _importJwkRsaPrivateOrPublicKey (
9494 JsonWebKey .fromJson (jwk),
9595 isPrivateKey: false ,
@@ -100,11 +100,45 @@ Future<RsassaPkcs1V15PublicKey> rsassaPkcs1V15PublicKey_importJsonWebKey(
100100 );
101101}
102102
103- class _RsassaPkcs1V15PrivateKey implements RsassaPkcs1V15PrivateKey {
103+ final class _StaticRsaSsaPkcs1V15PrivateKeyImpl
104+ implements StaticRsaSsaPkcs1v15PrivateKeyImpl {
105+ const _StaticRsaSsaPkcs1V15PrivateKeyImpl ();
106+
107+ @override
108+ Future <RsaSsaPkcs1V15PrivateKeyImpl > importPkcs8Key (
109+ List <int > keyData,
110+ Hash hash,
111+ ) =>
112+ rsassaPkcs1V15PrivateKey_importPkcs8Key (keyData, hash);
113+
114+ @override
115+ Future <RsaSsaPkcs1V15PrivateKeyImpl > importJsonWebKey (
116+ Map <String , dynamic > jwk,
117+ Hash hash,
118+ ) =>
119+ rsassaPkcs1V15PrivateKey_importJsonWebKey (jwk, hash);
120+
121+ @override
122+ Future <(RsaSsaPkcs1V15PrivateKeyImpl , RsaSsaPkcs1V15PublicKeyImpl )>
123+ generateKey (
124+ int modulusLength,
125+ BigInt publicExponent,
126+ Hash hash,
127+ ) async {
128+ final KeyPair <RsaSsaPkcs1V15PrivateKeyImpl , RsaSsaPkcs1V15PublicKeyImpl >
129+ pair = await rsassaPkcs1V15PrivateKey_generateKey (
130+ modulusLength, publicExponent, hash);
131+
132+ return (pair.privateKey, pair.publicKey);
133+ }
134+ }
135+
136+ final class _RsaSsaPkcs1V15PrivateKeyImpl
137+ implements RsaSsaPkcs1V15PrivateKeyImpl {
104138 final _EvpPKey _key;
105139 final _Hash _hash;
106140
107- _RsassaPkcs1V15PrivateKey (this ._key, this ._hash);
141+ _RsaSsaPkcs1V15PrivateKeyImpl (this ._key, this ._hash);
108142
109143 @override
110144 String toString () {
@@ -133,11 +167,27 @@ class _RsassaPkcs1V15PrivateKey implements RsassaPkcs1V15PrivateKey {
133167 Future <Uint8List > exportPkcs8Key () async => _exportPkcs8Key (_key);
134168}
135169
136- class _RsassaPkcs1V15PublicKey implements RsassaPkcs1V15PublicKey {
170+ final class _StaticRsaSsaPkcs1V15PublicKeyImpl
171+ implements StaticRsaSsaPkcs1v15PublicKeyImpl {
172+ const _StaticRsaSsaPkcs1V15PublicKeyImpl ();
173+
174+ @override
175+ Future <RsaSsaPkcs1V15PublicKeyImpl > importSpkiKey (
176+ List <int > keyData, Hash hash) =>
177+ rsassaPkcs1V15PublicKey_importSpkiKey (keyData, hash);
178+
179+ @override
180+ Future <RsaSsaPkcs1V15PublicKeyImpl > importJsonWebKey (
181+ Map <String , dynamic > jwk, Hash hash) =>
182+ rsassaPkcs1V15PublicKey_importJsonWebKey (jwk, hash);
183+ }
184+
185+ final class _RsaSsaPkcs1V15PublicKeyImpl
186+ implements RsaSsaPkcs1V15PublicKeyImpl {
137187 final _EvpPKey _key;
138188 final _Hash _hash;
139189
140- _RsassaPkcs1V15PublicKey (this ._key, this ._hash);
190+ _RsaSsaPkcs1V15PublicKeyImpl (this ._key, this ._hash);
141191
142192 @override
143193 Future <bool > verifyBytes (List <int > signature, List <int > data) =>
0 commit comments